diff --git a/apps/desktop-ui/messages/af.json b/apps/desktop-ui/messages/af.json index 4973c624..3768e067 100644 --- a/apps/desktop-ui/messages/af.json +++ b/apps/desktop-ui/messages/af.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Wysig koppeling", - "titleConnect": "Koppel aan MongoDB", + "titleConnect": "Koppel aan databasis", "subtitleEdit": "Werk jou koppelingsbesonderhede hieronder by.", - "subtitleConnect": "Voer jou MongoDB-koppelingsstring in om jou data te begin verken.", + "subtitleConnect": "Voer jou verbindingstring in om jou data te verken.", "labelName": "Naam", + "labelDbType": "Databasistipe", "placeholderName": "bv. Produksie-DB", "labelConnectionString": "Koppelingsstring", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Hernoem", "refresh": "Verfris", "copyDbName": "Kopieer DB-naam", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Databasisnaam na knipbord gekopieer", "dropDatabase": "Laat databasis val", "dropCollection": "Laat versameling val", "menuRename": "Hernoem", "menuCopyConnectionString": "Kopieer koppelingsstring", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Vee koppeling uit", "toastSidebarStringCopied": "Koppelingsstring gekopieer!", "cancel": "Kanselleer", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Sorteer dalend", "cellCopyValue": "Kopieer waarde", "cellEditValue": "Wysig waarde", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Uitvoeringsplan", "explainLoading": "Explain word uitgevoer…", "explainFail": "Explain het misluk", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Kon nie navraag stoor nie", "querySaved": "“{name}” gestoor", "explainQuery": "Verduidelik navraag", + "generateCode": "Generate code", "stagesMode": "Fases", "invalidStageJson": "'n Pyplynfase bevat ongeldige JSON" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Uitvoerformaat", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Kies velde", "selectAll": "Kies alles", "fieldsSelected": "{count, plural, one {# veld gekies} other {# velde gekies}}", @@ -1832,7 +1845,18 @@ "sampled": "{docs} dokumente gemonster · {fields} velde", "colField": "Veld", "colTypes": "Tipes", - "colCoverage": "Dekking" + "colCoverage": "Dekking", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/ar.json b/apps/desktop-ui/messages/ar.json index 0d61ee09..71bda17a 100644 --- a/apps/desktop-ui/messages/ar.json +++ b/apps/desktop-ui/messages/ar.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "تعديل الاتصال", - "titleConnect": "الاتصال بـ MongoDB", + "titleConnect": "الاتصال بقاعدة البيانات", "subtitleEdit": "حدّث تفاصيل الاتصال أدناه.", - "subtitleConnect": "أدخل سلسلة اتصال MongoDB لبدء استكشاف بياناتك.", + "subtitleConnect": "أدخل سلسلة الاتصال لبدء استكشاف بياناتك.", "labelName": "الاسم", + "labelDbType": "نوع قاعدة البيانات", "placeholderName": "مثال: قاعدة الإنتاج", "labelConnectionString": "سلسلة الاتصال", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "إعادة تسمية", "refresh": "تحديث", "copyDbName": "نسخ اسم قاعدة البيانات", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "تم نسخ اسم قاعدة البيانات", "dropDatabase": "حذف قاعدة البيانات", "dropCollection": "حذف المجموعة", "menuRename": "إعادة تسمية", "menuCopyConnectionString": "نسخ سلسلة الاتصال", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "حذف الاتصال", "toastSidebarStringCopied": "تم نسخ سلسلة الاتصال!", "cancel": "إلغاء", @@ -1655,6 +1659,13 @@ "cellSortDesc": "ترتيب تنازلي", "cellCopyValue": "نسخ القيمة", "cellEditValue": "تحرير القيمة", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "خطة التنفيذ", "explainLoading": "جارٍ تنفيذ explain…", "explainFail": "فشل explain", @@ -1758,6 +1769,7 @@ "saveQueryFail": "فشل حفظ الاستعلام", "querySaved": "تم حفظ «{name}»", "explainQuery": "شرح الاستعلام", + "generateCode": "Generate code", "stagesMode": "المراحل", "invalidStageJson": "تحتوي إحدى مراحل الـ pipeline على JSON غير صالح" }, @@ -1769,6 +1781,7 @@ "formatLabel": "صيغة التصدير", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "اختر الحقول", "selectAll": "تحديد الكل", "fieldsSelected": "{count, plural, one {# حقل محدد} other {# حقول محددة}}", @@ -1854,7 +1867,18 @@ "sampled": "تم أخذ عينة من {docs} مستند · {fields} حقل", "colField": "الحقل", "colTypes": "الأنواع", - "colCoverage": "التغطية" + "colCoverage": "التغطية", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "جارٍ تحميل الفهارس...", diff --git a/apps/desktop-ui/messages/ca.json b/apps/desktop-ui/messages/ca.json index 8db95bdf..80267ab9 100644 --- a/apps/desktop-ui/messages/ca.json +++ b/apps/desktop-ui/messages/ca.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Edita la connexió", - "titleConnect": "Connecta a MongoDB", + "titleConnect": "Connecta't a la base de dades", "subtitleEdit": "Actualitza els detalls de connexió a continuació.", - "subtitleConnect": "Introdueix la cadena de connexió de MongoDB per començar a explorar les dades.", + "subtitleConnect": "Introdueix la teva cadena de connexió per començar a explorar les teves dades.", "labelName": "Nom", + "labelDbType": "Tipus de base de dades", "placeholderName": "p. ex. BD de producció", "labelConnectionString": "Cadena de connexió", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Reanomena", "refresh": "Actualitza", "copyDbName": "Copia el nom de la BD", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nom de la base de dades copiat al porta-retalls", "dropDatabase": "Elimina la base de dades", "dropCollection": "Elimina la col·lecció", "menuRename": "Reanomena", "menuCopyConnectionString": "Copia la cadena de connexió", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Elimina la connexió", "toastSidebarStringCopied": "Cadena de connexió copiada!", "cancel": "Cancel·la", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Ordena descendent", "cellCopyValue": "Copia el valor", "cellEditValue": "Edita el valor", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Pla d'execució", "explainLoading": "Executant explain…", "explainFail": "L'explain ha fallat", @@ -1758,6 +1769,7 @@ "saveQueryFail": "No s'ha pogut desar la consulta", "querySaved": "“{name}” desada", "explainQuery": "Explica la consulta", + "generateCode": "Generate code", "stagesMode": "Etapes", "invalidStageJson": "Una etapa del pipeline conté JSON no vàlid" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Format d'exportació", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Selecciona camps", "selectAll": "Selecciona-ho tot", "fieldsSelected": "{count, plural, one {# camp seleccionat} other {# camps seleccionats}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} documents mostrejats · {fields} camps", "colField": "Camp", "colTypes": "Tipus", - "colCoverage": "Cobertura" + "colCoverage": "Cobertura", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "S'estan carregant els índexs…", diff --git a/apps/desktop-ui/messages/cs.json b/apps/desktop-ui/messages/cs.json index d2d63a26..023c2625 100644 --- a/apps/desktop-ui/messages/cs.json +++ b/apps/desktop-ui/messages/cs.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Upravit připojení", - "titleConnect": "Připojit k MongoDB", + "titleConnect": "Připojit k databázi", "subtitleEdit": "Upravte údaje o připojení níže.", - "subtitleConnect": "Zadejte connection string MongoDB a začněte prozkoumávat data.", + "subtitleConnect": "Zadejte připojovací řetězec a začněte prozkoumávat svá data.", "labelName": "Název", + "labelDbType": "Typ databáze", "placeholderName": "např. Produkční DB", "labelConnectionString": "Connection string", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Přejmenovat", "refresh": "Obnovit", "copyDbName": "Kopírovat název DB", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Název databáze zkopírován", "dropDatabase": "Smazat databázi", "dropCollection": "Smazat kolekci", "menuRename": "Přejmenovat", "menuCopyConnectionString": "Kopírovat connection string", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Smazat připojení", "toastSidebarStringCopied": "Connection string zkopírován!", "cancel": "Zrušit", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Seřadit sestupně", "cellCopyValue": "Kopírovat hodnotu", "cellEditValue": "Upravit hodnotu", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plán provedení", "explainLoading": "Probíhá explain…", "explainFail": "Explain se nezdařil", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Dotaz se nepodařilo uložit", "querySaved": "„{name}“ uloženo", "explainQuery": "Vysvětlit dotaz", + "generateCode": "Generate code", "stagesMode": "Fáze", "invalidStageJson": "Fáze pipeline obsahuje neplatný JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Formát exportu", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Vybrat pole", "selectAll": "Vybrat vše", "fieldsSelected": "{count, plural, one {# pole vybráno} few {# pole vybrána} many {# polí vybráno} other {# polí vybráno}}", @@ -1854,7 +1867,18 @@ "sampled": "Vzorkováno {docs} dokumentů · {fields} polí", "colField": "Pole", "colTypes": "Typy", - "colCoverage": "Pokrytí" + "colCoverage": "Pokrytí", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Načítání indexů…", diff --git a/apps/desktop-ui/messages/da.json b/apps/desktop-ui/messages/da.json index d2020c77..33eea23b 100644 --- a/apps/desktop-ui/messages/da.json +++ b/apps/desktop-ui/messages/da.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Rediger forbindelse", - "titleConnect": "Opret forbindelse til MongoDB", + "titleConnect": "Opret forbindelse til database", "subtitleEdit": "Opdater dine forbindelsesoplysninger nedenfor.", - "subtitleConnect": "Indtast din MongoDB-forbindelsesstreng for at begynde at udforske dine data.", + "subtitleConnect": "Indtast din forbindelsesstreng for at begynde at udforske dine data.", "labelName": "Navn", + "labelDbType": "Databasetype", "placeholderName": "f.eks. Produktion DB", "labelConnectionString": "Forbindelsesstreng", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Omdøb", "refresh": "Opfriske", "copyDbName": "Kopier DB-navn", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Databasenavn kopieret til udklipsholder", "dropDatabase": "Drop database", "dropCollection": "Drop Collection", "menuRename": "Omdøb", "menuCopyConnectionString": "Kopier forbindelsesstreng", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Slet forbindelse", "toastSidebarStringCopied": "Forbindelsesstrengen er kopieret!", "cancel": "Ophæve", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Sorter faldende", "cellCopyValue": "Kopiér værdi", "cellEditValue": "Rediger værdi", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Eksekveringsplan", "explainLoading": "Kører explain…", "explainFail": "Explain mislykkedes", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Kunne ikke gemme forespørgslen", "querySaved": "“{name}” gemt", "explainQuery": "Forklar forespørgsel", + "generateCode": "Generate code", "stagesMode": "Trin", "invalidStageJson": "Et pipelinetrin indeholder ugyldig JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Eksporter format", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Vælg felter", "selectAll": "Vælg alle", "fieldsSelected": "{count, plural, one {# field selected} other {# fields selected}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} dokumenter analyseret · {fields} felter", "colField": "Felt", "colTypes": "Typer", - "colCoverage": "Dækning" + "colCoverage": "Dækning", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Indlæser indekser …", diff --git a/apps/desktop-ui/messages/de.json b/apps/desktop-ui/messages/de.json index 6c29a90c..75cbaa04 100644 --- a/apps/desktop-ui/messages/de.json +++ b/apps/desktop-ui/messages/de.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Verbindung bearbeiten", - "titleConnect": "Mit MongoDB verbinden", + "titleConnect": "Mit Datenbank verbinden", "subtitleEdit": "Verbindungsdaten unten anpassen.", - "subtitleConnect": "MongoDB-Verbindungszeichenfolge eingeben, um zu starten.", + "subtitleConnect": "Geben Sie Ihre Verbindungszeichenfolge ein, um Ihre Daten zu erkunden.", "labelName": "Name", + "labelDbType": "Datenbanktyp", "placeholderName": "z. B. Produktions-DB", "labelConnectionString": "Verbindungszeichenfolge", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Umbenennen", "refresh": "Aktualisieren", "copyDbName": "DB-Name kopieren", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Datenbankname in die Zwischenablage kopiert", "dropDatabase": "Datenbank löschen", "dropCollection": "Sammlung löschen", "menuRename": "Umbenennen", "menuCopyConnectionString": "Verbindungszeichenfolge kopieren", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Verbindung löschen", "toastSidebarStringCopied": "Verbindungszeichenfolge kopiert!", "cancel": "Abbrechen", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Absteigend sortieren", "cellCopyValue": "Wert kopieren", "cellEditValue": "Wert bearbeiten", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Ausführungsplan", "explainLoading": "Explain wird ausgeführt…", "explainFail": "Explain fehlgeschlagen", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Abfrage konnte nicht gespeichert werden", "querySaved": "„{name}“ gespeichert", "explainQuery": "Abfrage erklären", + "generateCode": "Generate code", "stagesMode": "Stufen", "invalidStageJson": "Eine Pipeline-Stufe enthält ungültiges JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Exportformat", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Felder wählen", "selectAll": "Alle wählen", "fieldsSelected": "{count, plural, one {# Feld gewählt} other {# Felder gewählt}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} Dokumente untersucht · {fields} Felder", "colField": "Feld", "colTypes": "Typen", - "colCoverage": "Abdeckung" + "colCoverage": "Abdeckung", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Indizes werden geladen …", diff --git a/apps/desktop-ui/messages/el.json b/apps/desktop-ui/messages/el.json index 7c76d021..37da4c00 100644 --- a/apps/desktop-ui/messages/el.json +++ b/apps/desktop-ui/messages/el.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Επεξεργασία σύνδεσης", - "titleConnect": "Συνδεθείτε στο MongoDB", + "titleConnect": "Σύνδεση σε βάση δεδομένων", "subtitleEdit": "Ενημερώστε τα στοιχεία σύνδεσής σας παρακάτω.", - "subtitleConnect": "Εισαγάγετε τη συμβολοσειρά σύνδεσης MongoDB για να ξεκινήσετε την εξερεύνηση των δεδομένων σας.", + "subtitleConnect": "Εισαγάγετε τη συμβολοσειρά σύνδεσης για να αρχίσετε να εξερευνάτε τα δεδομένα σας.", "labelName": "Ονομα", + "labelDbType": "Τύπος βάσης δεδομένων", "placeholderName": "π.χ. DB Παραγωγής", "labelConnectionString": "Συμβολοσειρά σύνδεσης", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Μετονομάζω", "refresh": "Φρεσκάρω", "copyDbName": "Αντιγραφή ονόματος DB", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Το όνομα βάσης δεδομένων αντιγράφηκε στο πρόχειρο", "dropDatabase": "Απόθεση βάσης δεδομένων", "dropCollection": "Drop Collection", "menuRename": "Μετονομάζω", "menuCopyConnectionString": "Αντιγραφή συμβολοσειράς σύνδεσης", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Διαγραφή σύνδεσης", "toastSidebarStringCopied": "Η συμβολοσειρά σύνδεσης αντιγράφηκε!", "cancel": "Ματαίωση", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Φθίνουσα ταξινόμηση", "cellCopyValue": "Αντιγραφή τιμής", "cellEditValue": "Επεξεργασία τιμής", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Σχέδιο εκτέλεσης", "explainLoading": "Εκτελείται explain…", "explainFail": "Αποτυχία explain", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Αποτυχία αποθήκευσης ερωτήματος", "querySaved": "Το «{name}» αποθηκεύτηκε", "explainQuery": "Επεξήγηση ερωτήματος", + "generateCode": "Generate code", "stagesMode": "Στάδια", "invalidStageJson": "Ένα στάδιο του pipeline περιέχει μη έγκυρο JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Μορφή εξαγωγής", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Επιλέξτε Πεδία", "selectAll": "Επιλέξτε Όλα", "fieldsSelected": "{count, plural, one {# επιλεγμένο πεδίο} other {# επιλεγμένα πεδία}}", @@ -1854,7 +1867,18 @@ "sampled": "Δείγμα {docs} εγγράφων · {fields} πεδία", "colField": "Πεδίο", "colTypes": "Τύποι", - "colCoverage": "Κάλυψη" + "colCoverage": "Κάλυψη", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Φόρτωση ευρετηρίων...", diff --git a/apps/desktop-ui/messages/en.json b/apps/desktop-ui/messages/en.json index 860099b0..9129035e 100644 --- a/apps/desktop-ui/messages/en.json +++ b/apps/desktop-ui/messages/en.json @@ -1516,10 +1516,11 @@ }, "connection": { "titleEdit": "Edit Connection", - "titleConnect": "Connect to MongoDB", + "titleConnect": "Connect to Database", "subtitleEdit": "Update your connection details below.", - "subtitleConnect": "Enter your MongoDB connection string to start exploring your data.", + "subtitleConnect": "Enter your connection string to start exploring your data.", "labelName": "Name", + "labelDbType": "Database Type", "placeholderName": "e.g. Production DB", "labelConnectionString": "Connection String", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1585,11 +1586,14 @@ "rename": "Rename", "refresh": "Refresh", "copyDbName": "Copy DB Name", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Database name copied to clipboard", "dropDatabase": "Drop Database", "dropCollection": "Drop Collection", "menuRename": "Rename", "menuCopyConnectionString": "Copy Connection String", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Delete Connection", "toastSidebarStringCopied": "Connection string copied!", "cancel": "Cancel", @@ -1667,6 +1671,13 @@ "cellSortDesc": "Sort descending", "cellCopyValue": "Copy value", "cellEditValue": "Edit value", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Explain Plan", "explainLoading": "Running explain…", "explainFail": "Explain failed", @@ -1752,6 +1763,7 @@ "saveQueryFail": "Failed to save query", "querySaved": "Saved “{name}”", "explainQuery": "Explain query", + "generateCode": "Generate code", "stagesMode": "Stages", "invalidStageJson": "A pipeline stage contains invalid JSON" }, @@ -1763,6 +1775,7 @@ "formatLabel": "Export Format", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Select Fields", "selectAll": "Select All", "fieldsSelected": "{count, plural, one {# field selected} other {# fields selected}}", @@ -1824,13 +1837,13 @@ }, "importDialog": { "title": "Import Documents into {collection}", - "onlyJson": "Only .json files are supported", + "onlyJson": "Supported files: .json, .csv, .tsv", "invalidStructure": "File must contain a JSON array or object", "invalidJson": "Invalid JSON: could not parse file", "imported": "{count, plural, one {Imported # document} other {Imported # documents}}", "importFailed": "Import failed", "dropHint": "Drag & drop or click to upload", - "dropSubHint": "Supports JSON array or NDJSON", + "dropSubHint": "JSON array, NDJSON, CSV or TSV", "docsCount": "{count, plural, one {# doc} other {# docs}}", "previewLabel": "Preview (first 3 documents)", "moreDocs": "... and {count} more documents", @@ -1847,7 +1860,18 @@ "sampled": "Sampled {docs} documents · {fields} fields", "colField": "Field", "colTypes": "Types", - "colCoverage": "Coverage" + "colCoverage": "Coverage", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/es.json b/apps/desktop-ui/messages/es.json index a93bd0c0..a5fbed68 100644 --- a/apps/desktop-ui/messages/es.json +++ b/apps/desktop-ui/messages/es.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Editar conexión", - "titleConnect": "Conectar a MongoDB", + "titleConnect": "Conectar a la base de datos", "subtitleEdit": "Actualiza los datos de conexión abajo.", - "subtitleConnect": "Introduce la cadena de conexión de MongoDB para empezar.", + "subtitleConnect": "Introduce tu cadena de conexión para empezar a explorar tus datos.", "labelName": "Nombre", + "labelDbType": "Tipo de base de datos", "placeholderName": "p. ej. Producción", "labelConnectionString": "Cadena de conexión", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Renombrar", "refresh": "Actualizar", "copyDbName": "Copiar nombre de BD", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nombre copiado al portapapeles", "dropDatabase": "Eliminar base de datos", "dropCollection": "Eliminar colección", "menuRename": "Renombrar", "menuCopyConnectionString": "Copiar cadena de conexión", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Eliminar conexión", "toastSidebarStringCopied": "¡Cadena de conexión copiada!", "cancel": "Cancelar", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Orden descendente", "cellCopyValue": "Copiar valor", "cellEditValue": "Editar valor", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plan de ejecución", "explainLoading": "Ejecutando explain…", "explainFail": "Explain falló", @@ -1737,6 +1748,7 @@ "saveQueryFail": "No se pudo guardar la consulta", "querySaved": "“{name}” guardada", "explainQuery": "Explicar consulta", + "generateCode": "Generate code", "stagesMode": "Etapas", "invalidStageJson": "Una etapa del pipeline contiene JSON no válido" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Formato", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Campos", "selectAll": "Seleccionar todo", "fieldsSelected": "{count, plural, one {# campo seleccionado} other {# campos seleccionados}}", @@ -1832,7 +1845,18 @@ "sampled": "Muestra de {docs} documentos · {fields} campos", "colField": "Campo", "colTypes": "Tipos", - "colCoverage": "Cobertura" + "colCoverage": "Cobertura", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/fa.json b/apps/desktop-ui/messages/fa.json index 414e3619..acd2fe02 100644 --- a/apps/desktop-ui/messages/fa.json +++ b/apps/desktop-ui/messages/fa.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "ویرایش اتصال", - "titleConnect": "به MongoDB متصل شوید", + "titleConnect": "اتصال به پایگاه داده", "subtitleEdit": "جزئیات اتصال خود را در زیر به روز کنید.", - "subtitleConnect": "رشته اتصال MongoDB خود را وارد کنید تا کاوش داده های خود را شروع کنید.", + "subtitleConnect": "رشته اتصال خود را وارد کنید تا کاوش داده‌هایتان را آغاز کنید.", "labelName": "نام", + "labelDbType": "نوع پایگاه داده", "placeholderName": "به عنوان مثال دی بی تولید", "labelConnectionString": "رشته اتصال", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "تغییر نام دهید", "refresh": "تازه کردن", "copyDbName": "نام DB را کپی کنید", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "نام پایگاه داده در کلیپ بورد کپی شد", "dropDatabase": "پایگاه داده را رها کنید", "dropCollection": "رها کردن مجموعه", "menuRename": "تغییر نام دهید", "menuCopyConnectionString": "رشته اتصال را کپی کنید", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "اتصال را حذف کنید", "toastSidebarStringCopied": "رشته اتصال کپی شد!", "cancel": "لغو کنید", @@ -1652,6 +1656,13 @@ "cellSortDesc": "مرتب‌سازی نزولی", "cellCopyValue": "کپی مقدار", "cellEditValue": "ویرایش مقدار", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "طرح اجرا", "explainLoading": "در حال اجرای explain…", "explainFail": "explain ناموفق بود", @@ -1737,6 +1748,7 @@ "saveQueryFail": "ذخیره کوئری ناموفق بود", "querySaved": "«{name}» ذخیره شد", "explainQuery": "توضیح کوئری", + "generateCode": "Generate code", "stagesMode": "مراحل", "invalidStageJson": "یکی از مراحل pipeline حاوی JSON نامعتبر است" }, @@ -1748,6 +1760,7 @@ "formatLabel": "فرمت صادرات", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "فیلدها را انتخاب کنید", "selectAll": "همه را انتخاب کنید", "fieldsSelected": "{count, plural, one {# field selected} other {# fields selected}}", @@ -1832,7 +1845,18 @@ "sampled": "نمونه‌گیری از {docs} سند · {fields} فیلد", "colField": "فیلد", "colTypes": "انواع", - "colCoverage": "پوشش" + "colCoverage": "پوشش", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/fr.json b/apps/desktop-ui/messages/fr.json index b1035452..faf08b59 100644 --- a/apps/desktop-ui/messages/fr.json +++ b/apps/desktop-ui/messages/fr.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Modifier la connexion", - "titleConnect": "Connexion à MongoDB", + "titleConnect": "Se connecter à la base de données", "subtitleEdit": "Mettez à jour les détails ci-dessous.", - "subtitleConnect": "Saisissez la chaîne de connexion MongoDB pour explorer vos données.", + "subtitleConnect": "Saisissez votre chaîne de connexion pour commencer à explorer vos données.", "labelName": "Nom", + "labelDbType": "Type de base de données", "placeholderName": "ex. Prod", "labelConnectionString": "Chaîne de connexion", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Renommer", "refresh": "Actualiser", "copyDbName": "Copier le nom de la base", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nom de base copié", "dropDatabase": "Supprimer la base", "dropCollection": "Supprimer la collection", "menuRename": "Renommer", "menuCopyConnectionString": "Copier la chaîne de connexion", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Supprimer la connexion", "toastSidebarStringCopied": "Chaîne copiée !", "cancel": "Annuler", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Tri décroissant", "cellCopyValue": "Copier la valeur", "cellEditValue": "Modifier la valeur", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plan d'exécution", "explainLoading": "Explain en cours…", "explainFail": "Échec de l'explain", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Échec de l'enregistrement de la requête", "querySaved": "« {name} » enregistrée", "explainQuery": "Expliquer la requête", + "generateCode": "Generate code", "stagesMode": "Étapes", "invalidStageJson": "Une étape du pipeline contient du JSON invalide" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Format", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Champs", "selectAll": "Tout sélectionner", "fieldsSelected": "{count, plural, one {# champ sélectionné} other {# champs sélectionnés}}", @@ -1832,7 +1845,18 @@ "sampled": "Échantillon de {docs} documents · {fields} champs", "colField": "Champ", "colTypes": "Types", - "colCoverage": "Couverture" + "colCoverage": "Couverture", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/id.json b/apps/desktop-ui/messages/id.json index 1f7c7675..a8581aa4 100644 --- a/apps/desktop-ui/messages/id.json +++ b/apps/desktop-ui/messages/id.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Edit Koneksi", - "titleConnect": "Hubungkan ke MongoDB", + "titleConnect": "Hubungkan ke basis data", "subtitleEdit": "Perbarui detail koneksi Anda di bawah ini.", - "subtitleConnect": "Masukkan string koneksi MongoDB Anda untuk mulai menjelajahi data Anda.", + "subtitleConnect": "Masukkan string koneksi Anda untuk mulai menjelajahi data Anda.", "labelName": "Name", + "labelDbType": "Tipe basis data", "placeholderName": "misalnya Production DB", "labelConnectionString": "String koneksi", "placeholderConnectionString": "mongodb :// localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Ubah nama", "refresh": "Segarkan", "copyDbName": "Salin Nama DB", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nama basis data disalin ke clipboard", "dropDatabase": "Jatuhkan Basis Data", "dropCollection": "Jatuhkan Koleksi", "menuRename": "Ubah nama", "menuCopyConnectionString": "String koneksi", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Hapus Koneksi", "toastSidebarStringCopied": "String koneksi disalin!", "cancel": "Batalkan", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Urutkan turun", "cellCopyValue": "Salin nilai", "cellEditValue": "Edit nilai", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Rencana eksekusi", "explainLoading": "Menjalankan explain…", "explainFail": "Explain gagal", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Gagal menyimpan kueri", "querySaved": "“{name}” disimpan", "explainQuery": "Jelaskan kueri", + "generateCode": "Generate code", "stagesMode": "Tahapan", "invalidStageJson": "Sebuah tahap pipeline berisi JSON yang tidak valid" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Format Ekspor", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Pilih Bidang", "selectAll": "Pilih Semua", "fieldsSelected": "{count, plural, one {# bidang dipilih} other {# bidang dipilih}}", @@ -1854,7 +1867,18 @@ "sampled": "Sampel {docs} dokumen · {fields} bidang", "colField": "Bidang", "colTypes": "Tipe", - "colCoverage": "Cakupan" + "colCoverage": "Cakupan", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Memuat indeks...", diff --git a/apps/desktop-ui/messages/it.json b/apps/desktop-ui/messages/it.json index cc6e30a0..d103eb86 100644 --- a/apps/desktop-ui/messages/it.json +++ b/apps/desktop-ui/messages/it.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Modifica connessione", - "titleConnect": "Connettiti a MongoDB", + "titleConnect": "Connetti al database", "subtitleEdit": "Aggiorna i dettagli della tua connessione di seguito.", - "subtitleConnect": "Inserisci la stringa di connessione MongoDB per iniziare a esplorare i tuoi dati.", + "subtitleConnect": "Inserisci la stringa di connessione per iniziare a esplorare i tuoi dati.", "labelName": "Nome", + "labelDbType": "Tipo di database", "placeholderName": "per esempio. DB di produzione", "labelConnectionString": "Stringa di connessione", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Rinominare", "refresh": "Aggiorna", "copyDbName": "Copia nome database", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nome del database copiato negli appunti", "dropDatabase": "Elimina database", "dropCollection": "Raccolta gocce", "menuRename": "Rinominare", "menuCopyConnectionString": "Copia stringa di connessione", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Elimina connessione", "toastSidebarStringCopied": "Stringa di connessione copiata!", "cancel": "Cancellare", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Ordina decrescente", "cellCopyValue": "Copia valore", "cellEditValue": "Modifica valore", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Piano di esecuzione", "explainLoading": "Esecuzione explain…", "explainFail": "Explain non riuscito", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Impossibile salvare la query", "querySaved": "“{name}” salvata", "explainQuery": "Spiega query", + "generateCode": "Generate code", "stagesMode": "Fasi", "invalidStageJson": "Una fase della pipeline contiene JSON non valido" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Formato di esportazione", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Seleziona Campi", "selectAll": "Seleziona tutto", "fieldsSelected": "{count, plural, one {# campo selezionato} other {# campi selezionati}}", @@ -1832,7 +1845,18 @@ "sampled": "Campione di {docs} documenti · {fields} campi", "colField": "Campo", "colTypes": "Tipi", - "colCoverage": "Copertura" + "colCoverage": "Copertura", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/ja.json b/apps/desktop-ui/messages/ja.json index 471da4fe..85f79c0f 100644 --- a/apps/desktop-ui/messages/ja.json +++ b/apps/desktop-ui/messages/ja.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "接続を編集", - "titleConnect": "MongoDBに接続", + "titleConnect": "データベースに接続", "subtitleEdit": "以下の接続情報を更新してください。", - "subtitleConnect": "MongoDB接続文字列を入力して、データの探索を開始します。", + "subtitleConnect": "接続文字列を入力してデータの探索を開始します。", "labelName": "名前", + "labelDbType": "データベースの種類", "placeholderName": "例:本番DB", "labelConnectionString": "接続文字列", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "名前を変更", "refresh": "更新", "copyDbName": "DB名をコピー", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "データベース名をクリップボードにコピーしました", "dropDatabase": "データベースを削除", "dropCollection": "コレクションを削除", "menuRename": "名前を変更", "menuCopyConnectionString": "接続文字列をコピー", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "接続を削除", "toastSidebarStringCopied": "接続文字列をコピーしました!", "cancel": "キャンセル", @@ -1655,6 +1659,13 @@ "cellSortDesc": "降順に並べ替え", "cellCopyValue": "値をコピー", "cellEditValue": "値を編集", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "実行プラン", "explainLoading": "explainを実行中…", "explainFail": "explainに失敗しました", @@ -1758,6 +1769,7 @@ "saveQueryFail": "クエリの保存に失敗しました", "querySaved": "「{name}」を保存しました", "explainQuery": "クエリを説明", + "generateCode": "Generate code", "stagesMode": "ステージ", "invalidStageJson": "パイプラインのステージに無効なJSONが含まれています" }, @@ -1769,6 +1781,7 @@ "formatLabel": "エクスポート形式", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "フィールドを選択", "selectAll": "すべて選択", "fieldsSelected": "{count, plural, one {#フィールド選択済み} other {#フィールド選択済み}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs}件のドキュメントをサンプリング · {fields}個のフィールド", "colField": "フィールド", "colTypes": "型", - "colCoverage": "カバレッジ" + "colCoverage": "カバレッジ", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "インデックスを読み込み中...", diff --git a/apps/desktop-ui/messages/ko.json b/apps/desktop-ui/messages/ko.json index 39581cf4..5bf43be3 100644 --- a/apps/desktop-ui/messages/ko.json +++ b/apps/desktop-ui/messages/ko.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "연결 수정", - "titleConnect": "MongoDB에 연결", + "titleConnect": "데이터베이스에 연결", "subtitleEdit": "아래에서 연결 세부 사항을 업데이트하세요.", - "subtitleConnect": "MongoDB 연결 문자열을 입력하여 데이터 탐색을 시작하세요.", + "subtitleConnect": "연결 문자열을 입력하여 데이터 탐색을 시작하세요.", "labelName": "이름", + "labelDbType": "데이터베이스 유형", "placeholderName": "예: 운영 DB", "labelConnectionString": "연결 문자열", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "이름 변경", "refresh": "새로고침", "copyDbName": "DB 이름 복사", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "데이터베이스 이름이 클립보드에 복사되었습니다", "dropDatabase": "데이터베이스 삭제", "dropCollection": "컬렉션 삭제", "menuRename": "이름 변경", "menuCopyConnectionString": "연결 문자열 복사", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "연결 삭제", "toastSidebarStringCopied": "연결 문자열이 복사되었습니다!", "cancel": "취소", @@ -1655,6 +1659,13 @@ "cellSortDesc": "내림차순 정렬", "cellCopyValue": "값 복사", "cellEditValue": "값 편집", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "실행 계획", "explainLoading": "explain 실행 중…", "explainFail": "explain 실패", @@ -1758,6 +1769,7 @@ "saveQueryFail": "쿼리 저장에 실패했습니다", "querySaved": "“{name}” 저장됨", "explainQuery": "쿼리 설명", + "generateCode": "Generate code", "stagesMode": "단계", "invalidStageJson": "파이프라인 단계에 잘못된 JSON이 있습니다" }, @@ -1769,6 +1781,7 @@ "formatLabel": "내보내기 형식", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "필드 선택", "selectAll": "모두 선택", "fieldsSelected": "{count, plural, one {#개 필드 선택됨} other {#개 필드 선택됨}}", @@ -1854,7 +1867,18 @@ "sampled": "문서 {docs}개 샘플링 · 필드 {fields}개", "colField": "필드", "colTypes": "유형", - "colCoverage": "커버리지" + "colCoverage": "커버리지", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "인덱스를 불러오는 중...", diff --git a/apps/desktop-ui/messages/ms.json b/apps/desktop-ui/messages/ms.json index 15e1a393..efdb7c80 100644 --- a/apps/desktop-ui/messages/ms.json +++ b/apps/desktop-ui/messages/ms.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Edit Sambungan", - "titleConnect": "Sambung ke MongoDB", + "titleConnect": "Sambung ke pangkalan data", "subtitleEdit": "Kemas kini butiran sambungan anda di bawah.", - "subtitleConnect": "Masukkan rentetan sambungan MongoDB anda untuk mula meneroka data anda.", + "subtitleConnect": "Masukkan rentetan sambungan anda untuk mula meneroka data anda.", "labelName": "Nama", + "labelDbType": "Jenis pangkalan data", "placeholderName": "cth. DB Pengeluaran", "labelConnectionString": "Rentetan Sambungan", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Namakan Semula", "refresh": "Segar Semula", "copyDbName": "Salin Nama DB", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nama pangkalan data disalin ke papan klip", "dropDatabase": "Gugurkan Pangkalan Data", "dropCollection": "Gugurkan Koleksi", "menuRename": "Namakan Semula", "menuCopyConnectionString": "Salin Rentetan Sambungan", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Padam Sambungan", "toastSidebarStringCopied": "Rentetan sambungan disalin!", "cancel": "Batal", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Isih menurun", "cellCopyValue": "Salin nilai", "cellEditValue": "Sunting nilai", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Pelan pelaksanaan", "explainLoading": "Menjalankan explain…", "explainFail": "Explain gagal", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Gagal menyimpan pertanyaan", "querySaved": "“{name}” disimpan", "explainQuery": "Terangkan pertanyaan", + "generateCode": "Generate code", "stagesMode": "Peringkat", "invalidStageJson": "Satu peringkat pipeline mengandungi JSON tidak sah" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Format Eksport", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Pilih Medan", "selectAll": "Pilih Semua", "fieldsSelected": "{count, plural, one {# medan dipilih} other {# medan dipilih}}", @@ -1832,7 +1845,18 @@ "sampled": "Sampel {docs} dokumen · {fields} medan", "colField": "Medan", "colTypes": "Jenis", - "colCoverage": "Liputan" + "colCoverage": "Liputan", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/nb.json b/apps/desktop-ui/messages/nb.json index db3c3c56..43291f64 100644 --- a/apps/desktop-ui/messages/nb.json +++ b/apps/desktop-ui/messages/nb.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Rediger tilkobling", - "titleConnect": "Koble til MongoDB", + "titleConnect": "Koble til database", "subtitleEdit": "Oppdater tilkoblingsdetaljene dine nedenfor.", - "subtitleConnect": "Skriv inn MongoDB-tilkoblingsstrengen din for å begynne å utforske dataene dine.", + "subtitleConnect": "Skriv inn tilkoblingsstrengen for å begynne å utforske dataene dine.", "labelName": "Navn", + "labelDbType": "Databasetype", "placeholderName": "f.eks. Produksjons-DB", "labelConnectionString": "Tilkoblingsstreng", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Gi nytt navn", "refresh": "Oppdater", "copyDbName": "Kopier DB-navn", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Databasenavn kopiert til utklippstavle", "dropDatabase": "Slett database", "dropCollection": "Slett samling", "menuRename": "Gi nytt navn", "menuCopyConnectionString": "Kopier tilkoblingsstreng", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Slett tilkobling", "toastSidebarStringCopied": "Tilkoblingsstreng kopiert!", "cancel": "Avbryt", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Sorter synkende", "cellCopyValue": "Kopier verdi", "cellEditValue": "Rediger verdi", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Utførelsesplan", "explainLoading": "Kjører explain…", "explainFail": "Explain mislyktes", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Kunne ikke lagre spørringen", "querySaved": "«{name}» lagret", "explainQuery": "Forklar spørring", + "generateCode": "Generate code", "stagesMode": "Trinn", "invalidStageJson": "Et pipelinetrinn inneholder ugyldig JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Eksportformat", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Velg felt", "selectAll": "Velg alle", "fieldsSelected": "{count, plural, one {# felt valgt} other {# felt valgt}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} dokumenter analysert · {fields} felt", "colField": "Felt", "colTypes": "Typer", - "colCoverage": "Dekning" + "colCoverage": "Dekning", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Laster inn indekser …", diff --git a/apps/desktop-ui/messages/nl.json b/apps/desktop-ui/messages/nl.json index 8e3b0277..f3e4dc0f 100644 --- a/apps/desktop-ui/messages/nl.json +++ b/apps/desktop-ui/messages/nl.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Verbinding bewerken", - "titleConnect": "Verbinden met MongoDB", + "titleConnect": "Verbinden met database", "subtitleEdit": "Werk je verbindingsgegevens hieronder bij.", - "subtitleConnect": "Voer je MongoDB-verbindingsreeks in om je gegevens te verkennen.", + "subtitleConnect": "Voer je verbindingsreeks in om je gegevens te verkennen.", "labelName": "Naam", + "labelDbType": "Databasetype", "placeholderName": "bijv. Productie-DB", "labelConnectionString": "Verbindingsreeks", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Hernoemen", "refresh": "Vernieuwen", "copyDbName": "DB-naam kopiëren", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Databasenaam gekopieerd naar klembord", "dropDatabase": "Database verwijderen", "dropCollection": "Collectie verwijderen", "menuRename": "Hernoemen", "menuCopyConnectionString": "Verbindingsreeks kopiëren", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Verbinding verwijderen", "toastSidebarStringCopied": "Verbindingsreeks gekopieerd!", "cancel": "Annuleren", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Aflopend sorteren", "cellCopyValue": "Waarde kopiëren", "cellEditValue": "Waarde bewerken", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Uitvoeringsplan", "explainLoading": "Explain wordt uitgevoerd…", "explainFail": "Explain mislukt", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Query opslaan mislukt", "querySaved": "“{name}” opgeslagen", "explainQuery": "Query uitleggen", + "generateCode": "Generate code", "stagesMode": "Fasen", "invalidStageJson": "Een pipelinefase bevat ongeldige JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Exportformaat", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Velden selecteren", "selectAll": "Alles selecteren", "fieldsSelected": "{count, plural, one {# veld geselecteerd} other {# velden geselecteerd}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} documenten bemonsterd · {fields} velden", "colField": "Veld", "colTypes": "Typen", - "colCoverage": "Dekking" + "colCoverage": "Dekking", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Indexen laden …", diff --git a/apps/desktop-ui/messages/pl.json b/apps/desktop-ui/messages/pl.json index 4cd12d26..55901787 100644 --- a/apps/desktop-ui/messages/pl.json +++ b/apps/desktop-ui/messages/pl.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Edit Connection", - "titleConnect": "Connect to MongoDB", + "titleConnect": "Połącz z bazą danych", "subtitleEdit": "Update your connection details below.", - "subtitleConnect": "Enter your MongoDB connection string to start exploring your data.", + "subtitleConnect": "Wprowadź parametry połączenia, aby rozpocząć eksplorację danych.", "labelName": "Name", + "labelDbType": "Typ bazy danych", "placeholderName": "e.g. Production DB", "labelConnectionString": "Connection String", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Rename", "refresh": "Refresh", "copyDbName": "Copy DB Name", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Database name copied to clipboard", "dropDatabase": "Drop Database", "dropCollection": "Drop Collection", "menuRename": "Rename", "menuCopyConnectionString": "Copy Connection String", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Delete Connection", "toastSidebarStringCopied": "Connection string copied!", "cancel": "Cancel", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Sortuj malejąco", "cellCopyValue": "Kopiuj wartość", "cellEditValue": "Edytuj wartość", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plan wykonania", "explainLoading": "Trwa explain…", "explainFail": "Explain nie powiódł się", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Nie udało się zapisać zapytania", "querySaved": "Zapisano „{name}”", "explainQuery": "Wyjaśnij zapytanie", + "generateCode": "Generate code", "stagesMode": "Etapy", "invalidStageJson": "Etap pipeline'u zawiera nieprawidłowy JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Export Format", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Select Fields", "selectAll": "Select All", "fieldsSelected": "{count, plural, one {# field selected} other {# fields selected}}", @@ -1854,7 +1867,18 @@ "sampled": "Próbkowano {docs} dokumentów · {fields} pól", "colField": "Pole", "colTypes": "Typy", - "colCoverage": "Pokrycie" + "colCoverage": "Pokrycie", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Ładowanie indeksów…", diff --git a/apps/desktop-ui/messages/pt-BR.json b/apps/desktop-ui/messages/pt-BR.json index 00f8e012..46c8b9d8 100644 --- a/apps/desktop-ui/messages/pt-BR.json +++ b/apps/desktop-ui/messages/pt-BR.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Editar Conexão", - "titleConnect": "Conectar ao MongoDB", + "titleConnect": "Conectar ao banco de dados", "subtitleEdit": "Atualize os detalhes da sua conexão abaixo.", - "subtitleConnect": "Insira sua string de conexão MongoDB para começar a explorar seus dados.", + "subtitleConnect": "Insira sua string de conexão para começar a explorar seus dados.", "labelName": "Nome", + "labelDbType": "Tipo de banco de dados", "placeholderName": "ex: BD de Produção", "labelConnectionString": "String de Conexão", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Renomear", "refresh": "Atualizar", "copyDbName": "Copiar Nome do BD", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nome do banco de dados copiado para a área de transferência", "dropDatabase": "Descartar Banco de Dados", "dropCollection": "Descartar Coleção", "menuRename": "Renomear", "menuCopyConnectionString": "Copiar String de Conexão", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Excluir Conexão", "toastSidebarStringCopied": "String de conexão copiada!", "cancel": "Cancelar", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Ordem decrescente", "cellCopyValue": "Copiar valor", "cellEditValue": "Editar valor", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plano de execução", "explainLoading": "Executando explain…", "explainFail": "Explain falhou", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Falha ao salvar a consulta", "querySaved": "“{name}” salva", "explainQuery": "Explicar consulta", + "generateCode": "Generate code", "stagesMode": "Etapas", "invalidStageJson": "Uma etapa do pipeline contém JSON inválido" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Formato de Exportação", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Selecionar Campos", "selectAll": "Selecionar Tudo", "fieldsSelected": "{count, plural, one {# campo selecionado} other {# campos selecionados}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} documentos amostrados · {fields} campos", "colField": "Campo", "colTypes": "Tipos", - "colCoverage": "Cobertura" + "colCoverage": "Cobertura", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Carregando índices...", diff --git a/apps/desktop-ui/messages/pt.json b/apps/desktop-ui/messages/pt.json index 8dc4365a..d208f63f 100644 --- a/apps/desktop-ui/messages/pt.json +++ b/apps/desktop-ui/messages/pt.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Editar Ligação", - "titleConnect": "Ligar ao MongoDB", + "titleConnect": "Ligar à base de dados", "subtitleEdit": "Atualiza os detalhes da tua ligação abaixo.", - "subtitleConnect": "Introduz a tua string de ligação MongoDB para começar a explorar os teus dados.", + "subtitleConnect": "Introduza a sua cadeia de ligação para começar a explorar os seus dados.", "labelName": "Nome", + "labelDbType": "Tipo de base de dados", "placeholderName": "ex: BD de Produção", "labelConnectionString": "String de Ligação", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Renomear", "refresh": "Atualizar", "copyDbName": "Copiar Nome da BD", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Nome da base de dados copiado para a área de transferência", "dropDatabase": "Descartar Base de Dados", "dropCollection": "Descartar Coleção", "menuRename": "Renomear", "menuCopyConnectionString": "Copiar String de Ligação", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Eliminar Ligação", "toastSidebarStringCopied": "String de ligação copiada!", "cancel": "Cancelar", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Ordem descendente", "cellCopyValue": "Copiar valor", "cellEditValue": "Editar valor", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Plano de execução", "explainLoading": "A executar explain…", "explainFail": "Explain falhou", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Falha ao guardar a consulta", "querySaved": "“{name}” guardada", "explainQuery": "Explicar consulta", + "generateCode": "Generate code", "stagesMode": "Etapas", "invalidStageJson": "Uma etapa do pipeline contém JSON inválido" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Formato de Exportação", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Selecionar Campos", "selectAll": "Selecionar Tudo", "fieldsSelected": "{count, plural, one {# campo selecionado} other {# campos selecionados}}", @@ -1854,7 +1867,18 @@ "sampled": "{docs} documentos amostrados · {fields} campos", "colField": "Campo", "colTypes": "Tipos", - "colCoverage": "Cobertura" + "colCoverage": "Cobertura", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "A carregar índices…", diff --git a/apps/desktop-ui/messages/ru.json b/apps/desktop-ui/messages/ru.json index 82592912..a1e95768 100644 --- a/apps/desktop-ui/messages/ru.json +++ b/apps/desktop-ui/messages/ru.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Редактировать подключение", - "titleConnect": "Подключение к MongoDB", + "titleConnect": "Подключиться к базе данных", "subtitleEdit": "Обновите параметры подключения.", - "subtitleConnect": "Введите строку подключения MongoDB для начала работы с данными.", + "subtitleConnect": "Введите строку подключения, чтобы начать изучение данных.", "labelName": "Название", + "labelDbType": "Тип базы данных", "placeholderName": "напр. Рабочая БД", "labelConnectionString": "Строка подключения", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Переименовать", "refresh": "Обновить", "copyDbName": "Копировать имя БД", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Имя базы данных скопировано", "dropDatabase": "Удалить базу данных", "dropCollection": "Удалить коллекцию", "menuRename": "Переименовать", "menuCopyConnectionString": "Копировать строку подключения", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Удалить подключение", "toastSidebarStringCopied": "Строка подключения скопирована!", "cancel": "Отмена", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Сортировать по убыванию", "cellCopyValue": "Копировать значение", "cellEditValue": "Изменить значение", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "План выполнения", "explainLoading": "Выполняется explain…", "explainFail": "Ошибка explain", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Не удалось сохранить запрос", "querySaved": "«{name}» сохранён", "explainQuery": "Объяснить запрос", + "generateCode": "Generate code", "stagesMode": "Этапы", "invalidStageJson": "Этап конвейера содержит неверный JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Формат экспорта", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Выберите поля", "selectAll": "Выбрать все", "fieldsSelected": "{count, plural, one {# поле выбрано} few {# поля выбрано} other {# полей выбрано}}", @@ -1854,7 +1867,18 @@ "sampled": "Выборка {docs} документов · {fields} полей", "colField": "Поле", "colTypes": "Типы", - "colCoverage": "Покрытие" + "colCoverage": "Покрытие", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Загрузка индексов…", diff --git a/apps/desktop-ui/messages/sv.json b/apps/desktop-ui/messages/sv.json index badc30d6..65237956 100644 --- a/apps/desktop-ui/messages/sv.json +++ b/apps/desktop-ui/messages/sv.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Redigera anslutning", - "titleConnect": "Anslut till MongoDB", + "titleConnect": "Anslut till databas", "subtitleEdit": "Uppdatera dina anslutningsuppgifter nedan.", - "subtitleConnect": "Ange din MongoDB-anslutningssträng för att börja utforska dina data.", + "subtitleConnect": "Ange din anslutningssträng för att börja utforska dina data.", "labelName": "Namn", + "labelDbType": "Databastyp", "placeholderName": "t.ex. Produktionsdatabas", "labelConnectionString": "Anslutningssträng", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Byt namn", "refresh": "Uppdatera", "copyDbName": "Kopiera DB-namn", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Databasnamn kopierat till urklipp", "dropDatabase": "Ta bort databas", "dropCollection": "Ta bort samling", "menuRename": "Byt namn", "menuCopyConnectionString": "Kopiera anslutningssträng", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Ta bort anslutning", "toastSidebarStringCopied": "Anslutningssträng kopierad!", "cancel": "Avbryt", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Sortera fallande", "cellCopyValue": "Kopiera värde", "cellEditValue": "Redigera värde", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Exekveringsplan", "explainLoading": "Kör explain…", "explainFail": "Explain misslyckades", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Kunde inte spara frågan", "querySaved": "”{name}” sparad", "explainQuery": "Förklara fråga", + "generateCode": "Generate code", "stagesMode": "Steg", "invalidStageJson": "Ett pipelinesteg innehåller ogiltig JSON" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Exportformat", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Välj fält", "selectAll": "Välj alla", "fieldsSelected": "{count, plural, one {# fält valt} other {# fält valda}}", @@ -1832,7 +1845,18 @@ "sampled": "Samplade {docs} dokument · {fields} fält", "colField": "Fält", "colTypes": "Typer", - "colCoverage": "Täckning" + "colCoverage": "Täckning", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/tr.json b/apps/desktop-ui/messages/tr.json index eefca454..7b87022b 100644 --- a/apps/desktop-ui/messages/tr.json +++ b/apps/desktop-ui/messages/tr.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Bağlantıyı Düzenle", - "titleConnect": "MongoDB'ye Bağlan", + "titleConnect": "Veritabanına bağlan", "subtitleEdit": "Bağlantı detaylarınızı aşağıda güncelleyin.", - "subtitleConnect": "Verilerinizi keşfetmeye başlamak için MongoDB bağlantı dizesini girin.", + "subtitleConnect": "Verilerinizi keşfetmeye başlamak için bağlantı dizenizi girin.", "labelName": "Ad", + "labelDbType": "Veritabanı türü", "placeholderName": "örn. Üretim Veritabanı", "labelConnectionString": "Bağlantı Dizesi", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Yeniden Adlandır", "refresh": "Yenile", "copyDbName": "Veritabanı Adını Kopyala", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Veritabanı adı panoya kopyalandı", "dropDatabase": "Veritabanını Sil", "dropCollection": "Koleksiyonu Sil", "menuRename": "Yeniden Adlandır", "menuCopyConnectionString": "Bağlantı Dizesini Kopyala", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Bağlantıyı Sil", "toastSidebarStringCopied": "Bağlantı dizesi kopyalandı!", "cancel": "İptal", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Azalan sırala", "cellCopyValue": "Değeri kopyala", "cellEditValue": "Değeri düzenle", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Yürütme planı", "explainLoading": "Explain çalışıyor…", "explainFail": "Explain başarısız", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Sorgu kaydedilemedi", "querySaved": "“{name}” kaydedildi", "explainQuery": "Sorguyu açıkla", + "generateCode": "Generate code", "stagesMode": "Aşamalar", "invalidStageJson": "Bir pipeline aşaması geçersiz JSON içeriyor" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Dışa Aktarma Formatı", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Alanları Seç", "selectAll": "Tümünü Seç", "fieldsSelected": "{count, plural, one {# alan seçildi} other {# alan seçildi}}", @@ -1832,7 +1845,18 @@ "sampled": "{docs} belge örneklendi · {fields} alan", "colField": "Alan", "colTypes": "Türler", - "colCoverage": "Kapsam" + "colCoverage": "Kapsam", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/uk.json b/apps/desktop-ui/messages/uk.json index 51c34f08..5a2791f5 100644 --- a/apps/desktop-ui/messages/uk.json +++ b/apps/desktop-ui/messages/uk.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Редагувати підключення", - "titleConnect": "Підключитися до MongoDB", + "titleConnect": "Підключитися до бази даних", "subtitleEdit": "Оновіть деталі підключення нижче.", - "subtitleConnect": "Введіть рядок підключення MongoDB, щоб почати дослідження даних.", + "subtitleConnect": "Введіть рядок підключення, щоб почати досліджувати дані.", "labelName": "Назва", + "labelDbType": "Тип бази даних", "placeholderName": "напр. Production DB", "labelConnectionString": "Рядок підключення", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Перейменувати", "refresh": "Оновити", "copyDbName": "Копіювати назву БД", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Назву бази даних скопійовано до буфера обміну", "dropDatabase": "Видалити базу даних", "dropCollection": "Видалити колекцію", "menuRename": "Перейменувати", "menuCopyConnectionString": "Копіювати рядок підключення", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Видалити підключення", "toastSidebarStringCopied": "Рядок підключення скопійовано!", "cancel": "Скасувати", @@ -1652,6 +1656,13 @@ "cellSortDesc": "Сортувати за спаданням", "cellCopyValue": "Копіювати значення", "cellEditValue": "Редагувати значення", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "План виконання", "explainLoading": "Виконується explain…", "explainFail": "Помилка explain", @@ -1737,6 +1748,7 @@ "saveQueryFail": "Не вдалося зберегти запит", "querySaved": "«{name}» збережено", "explainQuery": "Пояснити запит", + "generateCode": "Generate code", "stagesMode": "Етапи", "invalidStageJson": "Етап конвеєра містить неправильний JSON" }, @@ -1748,6 +1760,7 @@ "formatLabel": "Формат експорту", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Обрати поля", "selectAll": "Обрати все", "fieldsSelected": "{count, plural, one {# поле обрано} few {# поля обрано} other {# полів обрано}}", @@ -1832,7 +1845,18 @@ "sampled": "Проаналізовано {docs} документів · {fields} полів", "colField": "Поле", "colTypes": "Типи", - "colCoverage": "Покриття" + "colCoverage": "Покриття", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" } }, "ApiClient": { diff --git a/apps/desktop-ui/messages/vi.json b/apps/desktop-ui/messages/vi.json index 7cc54820..3793b53e 100644 --- a/apps/desktop-ui/messages/vi.json +++ b/apps/desktop-ui/messages/vi.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "Sửa kết nối", - "titleConnect": "Kết nối MongoDB", + "titleConnect": "Kết nối đến cơ sở dữ liệu", "subtitleEdit": "Cập nhật chi tiết kết nối bên dưới.", - "subtitleConnect": "Nhập chuỗi kết nối MongoDB để bắt đầu khám phá dữ liệu.", + "subtitleConnect": "Nhập chuỗi kết nối của bạn để bắt đầu khám phá dữ liệu.", "labelName": "Tên", + "labelDbType": "Loại cơ sở dữ liệu", "placeholderName": "vd: Production DB", "labelConnectionString": "Chuỗi kết nối", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "Đổi tên", "refresh": "Làm mới", "copyDbName": "Sao chép tên DB", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "Đã sao chép tên cơ sở dữ liệu", "dropDatabase": "Xóa cơ sở dữ liệu", "dropCollection": "Xóa bộ sưu tập", "menuRename": "Đổi tên", "menuCopyConnectionString": "Sao chép chuỗi kết nối", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "Xóa kết nối", "toastSidebarStringCopied": "Đã sao chép chuỗi kết nối!", "cancel": "Hủy", @@ -1655,6 +1659,13 @@ "cellSortDesc": "Sắp xếp giảm dần", "cellCopyValue": "Sao chép giá trị", "cellEditValue": "Chỉnh sửa giá trị", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "Kế hoạch thực thi", "explainLoading": "Đang chạy explain…", "explainFail": "Explain thất bại", @@ -1758,6 +1769,7 @@ "saveQueryFail": "Không thể lưu truy vấn", "querySaved": "Đã lưu “{name}”", "explainQuery": "Giải thích truy vấn", + "generateCode": "Generate code", "stagesMode": "Giai đoạn", "invalidStageJson": "Một giai đoạn pipeline chứa JSON không hợp lệ" }, @@ -1769,6 +1781,7 @@ "formatLabel": "Định dạng xuất", "formatXlsx": "Excel (XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "Chọn trường", "selectAll": "Chọn tất cả", "fieldsSelected": "{count, plural, one {# trường đã chọn} other {# trường đã chọn}}", @@ -1854,7 +1867,18 @@ "sampled": "Đã lấy mẫu {docs} tài liệu · {fields} trường", "colField": "Trường", "colTypes": "Kiểu", - "colCoverage": "Độ phủ" + "colCoverage": "Độ phủ", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "Đang tải chỉ mục...", diff --git a/apps/desktop-ui/messages/zh.json b/apps/desktop-ui/messages/zh.json index 42b1770e..dd70045f 100644 --- a/apps/desktop-ui/messages/zh.json +++ b/apps/desktop-ui/messages/zh.json @@ -1501,10 +1501,11 @@ }, "connection": { "titleEdit": "编辑连接", - "titleConnect": "连接 MongoDB", + "titleConnect": "连接到数据库", "subtitleEdit": "在下方更新连接信息。", - "subtitleConnect": "输入 MongoDB 连接字符串以开始浏览数据。", + "subtitleConnect": "输入连接字符串以开始浏览数据。", "labelName": "名称", + "labelDbType": "数据库类型", "placeholderName": "例如 生产库", "labelConnectionString": "连接字符串", "placeholderConnectionString": "mongodb://localhost:27017", @@ -1570,11 +1571,14 @@ "rename": "重命名", "refresh": "刷新", "copyDbName": "复制数据库名", + "browseGridfs": "Browse GridFS", + "menuSyncCollection": "Sync to…", "toastDbNameCopied": "数据库名已复制到剪贴板", "dropDatabase": "删除数据库", "dropCollection": "删除集合", "menuRename": "重命名", "menuCopyConnectionString": "复制连接字符串", + "menuMonitorServer": "Monitor server", "menuDeleteConnection": "删除连接", "toastSidebarStringCopied": "连接字符串已复制!", "cancel": "取消", @@ -1655,6 +1659,13 @@ "cellSortDesc": "降序排序", "cellCopyValue": "复制值", "cellEditValue": "编辑值", + "cellGroupBy": "Group by this field", + "groupByTitle": "Group by {field}", + "groupByValue": "Value", + "groupByCount": "Count", + "groupByLoading": "Grouping…", + "groupByEmpty": "No groups", + "groupByFail": "Group failed", "explainTitle": "执行计划", "explainLoading": "正在运行 explain…", "explainFail": "explain 失败", @@ -1758,6 +1769,7 @@ "saveQueryFail": "保存查询失败", "querySaved": "已保存“{name}”", "explainQuery": "解释查询", + "generateCode": "Generate code", "stagesMode": "阶段", "invalidStageJson": "某个管道阶段包含无效的 JSON" }, @@ -1769,6 +1781,7 @@ "formatLabel": "导出格式", "formatXlsx": "Excel(XLSX)", "formatCsv": "CSV", + "formatTsv": "TSV", "selectFields": "选择字段", "selectAll": "全选", "fieldsSelected": "{count, plural, one {已选 # 个字段} other {已选 # 个字段}}", @@ -1854,7 +1867,18 @@ "sampled": "已采样 {docs} 个文档 · {fields} 个字段", "colField": "字段", "colTypes": "类型", - "colCoverage": "覆盖率" + "colCoverage": "覆盖率", + "sampleRandom": "Random", + "sampleFirst": "First", + "sampleLast": "Last", + "sampleAll": "All", + "sampleSizeN": "{n} docs", + "allCapped": "capped at 10k", + "validatorTitle": "Validation rules", + "exportSchemaBtn": "Export", + "exportJsonSchema": "JSON Schema", + "exportMongoose": "Mongoose model", + "exportHtml": "HTML report" }, "indexManager": { "loading": "正在加载索引…", diff --git a/apps/desktop-ui/src/app/app/database-explorer/page.tsx b/apps/desktop-ui/src/app/app/database-explorer/page.tsx index 920abf0c..b544c2f1 100644 --- a/apps/desktop-ui/src/app/app/database-explorer/page.tsx +++ b/apps/desktop-ui/src/app/app/database-explorer/page.tsx @@ -454,7 +454,7 @@ export default function NoSQLExplorerPage() { handleRefresh(); }; - const handleLoadSchema = useCallback(async () => { + const handleLoadSchema = useCallback(async (opts?: { sampleMode: string; sampleSize: number }) => { if (!activeTab) throw new Error("No active tab"); const conn = await getConnectionForTab(activeTab); @@ -465,6 +465,8 @@ export default function NoSQLExplorerPage() { connectionString: conn.connectionString, dbName: activeTab.dbName, collectionName: activeTab.collectionName, + sampleMode: opts?.sampleMode ?? "random", + sampleSize: opts?.sampleSize ?? 200, }), }); const data = await res.json(); diff --git a/apps/desktop-ui/src/app/app/layout.tsx b/apps/desktop-ui/src/app/app/layout.tsx index 899a4963..dee1f9f4 100644 --- a/apps/desktop-ui/src/app/app/layout.tsx +++ b/apps/desktop-ui/src/app/app/layout.tsx @@ -1,26 +1,19 @@ -import { cookies, headers } from "next/headers"; +import { cookies } from "next/headers"; import { SidebarProvider } from "@/components/ui/sidebar"; import { AppContent } from "./app-content"; -import { ToolJsonLd } from "@/components/seo/tool-json-ld"; -import { toolSlugFromPathname } from "@/lib/seo/structured-data"; // Static export (Tauri desktop) cannot use request APIs; fall back to defaults there. const isTauriBuild = process.env.TAURI_BUILD === "1"; export default async function Layout({ children }: { children: React.ReactNode }) { let defaultOpen = true; - let pathname = ""; if (!isTauriBuild) { const cookieStore = await cookies(); defaultOpen = cookieStore.get("sidebar:state")?.value !== "false"; - const headerList = await headers(); - pathname = headerList.get("x-mdt-pathname") ?? ""; } - const toolSlug = toolSlugFromPathname(pathname); return ( - {children} ); diff --git a/apps/desktop-ui/src/app/layout.tsx b/apps/desktop-ui/src/app/layout.tsx index 69fd690b..db39dab9 100644 --- a/apps/desktop-ui/src/app/layout.tsx +++ b/apps/desktop-ui/src/app/layout.tsx @@ -13,7 +13,6 @@ import "./globals.css"; import { siteMetadata } from "@/lib/metadata" -import { SiteWideJsonLd } from "@/components/seo/site-wide-json-ld" export const metadata: Metadata = { metadataBase: new URL(siteMetadata.url), @@ -112,8 +111,6 @@ export default async function RootLayout({ {/* Vercel Speed Insights */} - - . - */ -export function AnnouncementBanner() { - // Start hidden to avoid a flash for users who already dismissed it. - const [visible, setVisible] = useState(false); - - useEffect(() => { - try { - if (!localStorage.getItem(DISMISS_KEY)) setVisible(true); - } catch { - setVisible(true); - } - }, []); - - const dismiss = () => { - setVisible(false); - try { - localStorage.setItem(DISMISS_KEY, "1"); - } catch { - /* ignore */ - } - }; - - if (!visible) return null; - - return ( -
-
- - Open source - -

- MyDevTools is now{" "} - free for everyone and open source - under AGPL-3.0. -

- - Star on GitHub - - -
-
- ); -} diff --git a/apps/desktop-ui/src/components/api-client/response-panel.tsx b/apps/desktop-ui/src/components/api-client/response-panel.tsx index e3223a5e..98c68c37 100644 --- a/apps/desktop-ui/src/components/api-client/response-panel.tsx +++ b/apps/desktop-ui/src/components/api-client/response-panel.tsx @@ -301,9 +301,9 @@ export function ResponsePanel({ response, isLoading, scriptResults, onSaveExampl ) })()} -
-
-
+
+
+
{isSuccess ? ( ) : isError ? ( @@ -312,12 +312,12 @@ export function ResponsePanel({ response, isLoading, scriptResults, onSaveExampl )} {response.status} - + {response.statusText === API_CLIENT_ERROR_STATUS_TEXT ? t("errorStatusLabel") : response.statusText} diff --git a/apps/desktop-ui/src/components/api-key-vault/api-key-list.tsx b/apps/desktop-ui/src/components/api-key-vault/api-key-list.tsx index 00d1d222..cf0a9f96 100644 --- a/apps/desktop-ui/src/components/api-key-vault/api-key-list.tsx +++ b/apps/desktop-ui/src/components/api-key-vault/api-key-list.tsx @@ -232,7 +232,7 @@ export function ApiKeyList() {

{entries.length === 0 - ? "Add your first key — name, value, environment. Encrypted on your device before sync." + ? "Add your first key — name, value, environment. Encrypted on your device in a local vault." : "Try a different search or environment filter."}

{entries.length === 0 && ( diff --git a/apps/desktop-ui/src/components/footer.tsx b/apps/desktop-ui/src/components/footer.tsx deleted file mode 100644 index 01617cb9..00000000 --- a/apps/desktop-ui/src/components/footer.tsx +++ /dev/null @@ -1,104 +0,0 @@ -"use client"; - -import Link from "next/link"; -import { useEffect, useState } from "react"; -import { motion, AnimatePresence, useReducedMotion } from "framer-motion"; -import { ArrowUp } from "lucide-react"; -import { Logo } from "./logo"; - -const footerLinks = [ - { href: "/dashboard", label: "Dashboard" }, - { href: "/blog", label: "Blog" }, - { href: "/developer-tools", label: "Platform" }, - { href: "/features", label: "Features" }, - { href: "/pricing", label: "Open Source" }, - { href: "/#tools", label: "Tools" }, - { href: "/security", label: "Security" }, - { href: "/open-source", label: "Open Source" }, - { href: "/self-host", label: "Self-host" }, - { href: "/help", label: "Help" }, - { - href: "https://github.com/itsmeakhil/mydevtools.tech", - label: "GitHub", - external: true, - }, -]; - -export function Footer() { - const year = new Date().getFullYear(); - - return ( - <> -
-
-
- {/* Brand + copyright */} - - - - © {year} MyDevTools{" "} - · GPL-3.0 - - - - {/* Nav links */} - -
-
-
- - - - ); -} - -function BackToTop() { - const [visible, setVisible] = useState(false); - const reduceMotion = useReducedMotion(); - - useEffect(() => { - const onScroll = () => setVisible(window.scrollY > 400); - onScroll(); - window.addEventListener("scroll", onScroll, { passive: true }); - return () => window.removeEventListener("scroll", onScroll); - }, []); - - const scrollTop = () => { - window.scrollTo({ top: 0, behavior: reduceMotion ? "auto" : "smooth" }); - }; - - return ( - - {visible && ( - - - - )} - - ); -} diff --git a/apps/desktop-ui/src/components/header.tsx b/apps/desktop-ui/src/components/header.tsx deleted file mode 100644 index da30c1dc..00000000 --- a/apps/desktop-ui/src/components/header.tsx +++ /dev/null @@ -1,243 +0,0 @@ -"use client"; -import { useState, useEffect, type ElementType } from "react"; -import Link from "next/link"; -import { Menu, X } from "lucide-react"; -import { Button } from "@/components/ui/button"; -import { ModeToggle } from "./modeToggle"; -import { Logo } from "./logo"; -import { AnnouncementBanner } from "./announcement-banner"; -import { motion, AnimatePresence } from "framer-motion"; -import { cn } from "@/lib/utils"; - -// Mobile menu animation variants -const menuVariants = { - closed: { - opacity: 0, - height: 0, - transition: { - duration: 0.2, - ease: "easeInOut" as const, - }, - }, - open: { - opacity: 1, - height: "auto", - transition: { - duration: 0.3, - ease: "easeOut" as const, - }, - }, -}; - -const menuItemVariants = { - closed: { opacity: 0, x: -16 }, - open: (i: number) => ({ - opacity: 1, - x: 0, - transition: { - delay: i * 0.05, - duration: 0.25, - ease: "easeOut" as const, - }, - }), -}; - -type HeaderProps = { - /** When false, theme toggle is hidden (e.g. marketing page fixed to dark). */ - showThemeToggle?: boolean; -}; - -export function Header({ showThemeToggle = true }: HeaderProps) { - const [isMenuOpen, setIsMenuOpen] = useState(false); - const [scrolled, setScrolled] = useState(false); - - useEffect(() => { - const onScroll = () => setScrolled(window.scrollY > 8); - onScroll(); - window.addEventListener("scroll", onScroll, { passive: true }); - return () => window.removeEventListener("scroll", onScroll); - }, []); - - const mobileNavLinks: { - href: string; - label: string; - icon?: ElementType; - external?: boolean; - }[] = [ - { href: "/", label: "Home" }, - { href: "/features", label: "Features" }, - { href: "/pricing", label: "Open Source" }, - { href: "/developer-tools", label: "Platform" }, - { href: "/tools", label: "Tools" }, - ]; - - return ( -
- -
-
- {/* Logo */} - - - - - {/* Desktop Navigation */} -
- -
- - {/* Desktop Actions */} -
- {/* Mobile Menu Toggle */} - - - {/* Desktop Actions */} -
- {showThemeToggle ? : null} -
-
-
-
- - {/* Mobile Menu */} - - {isMenuOpen && ( - <> - {/* Backdrop */} - setIsMenuOpen(false)} - /> - - {/* Menu Content */} - - - - - )} - -
- ); -} \ No newline at end of file diff --git a/apps/desktop-ui/src/components/legal-agreement-footer.tsx b/apps/desktop-ui/src/components/legal-agreement-footer.tsx index 722f60ff..d32cd234 100644 --- a/apps/desktop-ui/src/components/legal-agreement-footer.tsx +++ b/apps/desktop-ui/src/components/legal-agreement-footer.tsx @@ -10,7 +10,7 @@ import { } from "@/components/ui/dialog"; import { cn } from "@/lib/utils"; -const LAST_UPDATED = "July 14, 2026"; +const LAST_UPDATED = "July 22, 2026"; function TermsBody() { return ( @@ -38,9 +38,9 @@ function TermsBody() {

3. Your data and encryption

The Service is local-first: the content you create with the tools is stored on your - device. If you enable cloud sync, your data is encrypted on your device with a vault - password that only you know, and only the encrypted result is sent to us. We never - receive your vault password and cannot decrypt or recover your synced data. + device and is not sent to us. Sensitive data such as vault records is encrypted on your + device with a vault password that only you know. We never receive your vault password and + cannot decrypt or recover your vault data.

If you lose your vault password, your encrypted data cannot be recovered by anyone, @@ -93,8 +93,8 @@ function PrivacyBody() {

MyDevTools is built to be private by design. The only personal information we hold on our servers is your account details. Everything you create with the tools stays on - your device unless you choose to sync it — and anything you sync is end-to-end encrypted so - that we cannot read it. + your device — it is not sent to us. Sensitive vault data is additionally encrypted on your + device so that only you can read it.

@@ -111,17 +111,16 @@ function PrivacyBody() {

The content you create with the tools (notes, snippets, requests, keys, and other tool data) is saved locally on your device. It is not sent to us and is not part of your - account unless you enable cloud sync. + account.

-

4. Optional cloud sync (zero-knowledge)

+

4. Local encrypted vault (zero-knowledge)

- If you turn on cloud sync in Settings, your data is encrypted on your device with a vault - password that only you know. Only the resulting encrypted blob is transmitted and stored. - We never receive your vault password and have no way to decrypt or view your raw data — - only you can, with your vault password. + Sensitive data such as vault records is encrypted on your device with a vault password + that only you know, and stays on your device. We never receive your vault password and + have no way to decrypt or view your data — only you can, with your vault password.

@@ -145,9 +144,9 @@ function PrivacyBody() {

7. Retention & deletion

- We keep account and billing data for as long as your account is active or as required by - law. When you delete your account, we delete your account data and any encrypted synced - blobs; data stored only on your device is removed when you delete it locally. + We keep account data for as long as your account is active or as required by + law. When you delete your account, we delete your account data; data stored on your device + is removed when you delete it locally.

@@ -217,7 +216,7 @@ export function LegalAgreementFooter({ className, linkClassName }: LegalAgreemen Privacy Policy - What we store, what stays on your device, and our zero-knowledge sync. + What we store, what stays on your device, and how your local vault works.
diff --git a/apps/desktop-ui/src/components/marketing-seo-page.tsx b/apps/desktop-ui/src/components/marketing-seo-page.tsx deleted file mode 100644 index 6c75b9cb..00000000 --- a/apps/desktop-ui/src/components/marketing-seo-page.tsx +++ /dev/null @@ -1,197 +0,0 @@ -import type { ReactNode } from 'react' -import Link from 'next/link' -import { ArrowRight, CheckCircle2 } from 'lucide-react' -import { Header } from '@/components/header' -import { Footer } from '@/components/footer' -import { MdtFx } from '@/components/mdt-fx' -import MdtAurora from '@/components/mdt-aurora' -import { MdtBoot } from '@/components/mdt-boot' -import type { PlatformSeoPage } from '@/lib/seo/platform-pages' -import { publicToolSlugs } from '@/lib/tool-categories' -import { toolsMetadata } from '@/lib/metadata' -import { buildPlatformPageJsonLd } from '@/lib/seo/structured-data' - -const popularToolSlugs = [ - 'json-formatter', - 'jwt-decoder', - 'api-client', - 'regex-tester', - 'uuid-generator', - 'base64', -] - -function isExternalHref(href: string) { - return href.startsWith('http://') || href.startsWith('https://') -} - -function CtaLink({ - href, - label, - variant = 'primary', -}: { - href: string - label: string - variant?: 'primary' | 'secondary' -}) { - const external = isExternalHref(href) - return ( - - {label} - - - ) -} - -export function MarketingSeoPage({ - page, - children, -}: { - page: PlatformSeoPage - children?: ReactNode -}) { - const popularTools = popularToolSlugs - .filter((slug) => publicToolSlugs.includes(slug) && toolsMetadata[slug]) - .map((slug) => ({ slug, ...toolsMetadata[slug] })) - const jsonLd = buildPlatformPageJsonLd(page.slug) - - return ( -
-
-
-
- - - - - - - - - -
- - - {jsonLd ? ( -