From e434e24b9b316c83ba98921332799db44c565b35 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 23 Apr 2026 14:28:11 -0500 Subject: [PATCH] feat(locales): add new translations for RNS restart and enhance backup descriptions across multiple languages --- meshchatx/src/frontend/locales/de.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/en.json | 64 ++++++++++++++++++++++++ meshchatx/src/frontend/locales/es.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/fr.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/it.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/nl.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/ru.json | 68 +++++++++++++++++++++++++- meshchatx/src/frontend/locales/zh.json | 68 +++++++++++++++++++++++++- 8 files changed, 526 insertions(+), 14 deletions(-) diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json index 98d7608..7b4f1a2 100644 --- a/meshchatx/src/frontend/locales/de.json +++ b/meshchatx/src/frontend/locales/de.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "Fehler beim Aktualisieren des Telemetrie-Vertrauens.", "telemetry_trust_revoke": "Telemetrie-Vertrauen entziehen", "telemetry_trust_grant": "Für Telemetrie vertrauen", - "location_manage_desc": "Verwalten Sie, wie Ihr Standort geteilt wird." + "location_manage_desc": "Verwalten Sie, wie Ihr Standort geteilt wird.", + "restart_rns": "RNS neu starten" }, "common": { "open": "Öffnen", @@ -765,7 +766,69 @@ "failed_acknowledge_integrity": "Bestätigung von Integritätsproblemen fehlgeschlagen", "shutdown_sent": "Shutdown command sent to server.", "identity_exported": "Identity key file exported", - "identity_copied": "Identity Base32 key copied to clipboard" + "identity_copied": "Identity Base32 key copied to clipboard", + "app_name": "MeshChatX", + "automatic_backups_desc": "Automatische tägliche Sicherungen Ihrer Datenbank.", + "automatic_backups_title": "Automatische Backups", + "backup_download_failed": "Backup konnte nicht heruntergeladen werden", + "backup_downloaded": "Backup heruntergeladen", + "backend_stack": "Backend-Stack", + "chrome_runtime": "Chrome", + "contact_alternate": "Alternativadresse", + "contact_details": "Details", + "contact_developer": "Entwickler kontaktieren", + "contact_lxmf_address": "LXMF-Adresse", + "contact_propagation_hint": "An den Verbreitungsknoten senden, wenn Sie mich nicht direkt erreichen können.", + "copied_label_to_clipboard": "{label} in die Zwischenablage kopiert", + "core_runtime": "Kernlaufzeit", + "creating": "Wird erstellt…", + "database_backups_desc": "Vollständige Sicherungen Ihrer Kommunikationsdatenbank.", + "database_backups_title": "Datenbank-Backups", + "database_health_maintenance": "Datenbankzustand und -wartung", + "dep_lxmf_subtitle": "Leichtgewichtiges erweiterbares Nachrichtenformat", + "dep_lxmfy_subtitle": "LXMF-Bot-Framework", + "dep_rns_subtitle": "Reticulum-Netzwerkstack", + "download_backup": "Backup herunterladen", + "downloading": "Wird heruntergeladen…", + "electron_runtime": "Electron", + "environment_information": "Umgebungsinformationen", + "env_backend_url": "Backend-URL", + "env_language": "Sprache", + "env_lxmf": "LXMF", + "env_platform": "Plattform", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User-Agent", + "failed_to_copy_label": "Kopieren fehlgeschlagen: {label}", + "free_space": "Freier Speicher", + "identity_hash": "Identitäts-Hash", + "journal_short": "Journal", + "local_snapshots_desc": "Wiederherstellungspunkte zu einem Zeitpunkt auf der Festplatte anlegen.", + "local_snapshots_title": "Lokale Schnappschüsse", + "lxmf_address": "LXMF-Adresse", + "lxst_engine": "LXST-Engine", + "main_instance_badge": "Hauptinstanz", + "nodejs_runtime": "Node.js", + "page_count_label": "Seitenanzahl", + "pagination_page_of": "Seite {current} von {total}", + "path_unknown": "unbekannt", + "recovery": "Wiederherstellung", + "recovery_failed": "Wiederherstellung fehlgeschlagen", + "reveal_config_file": "Datei anzeigen", + "reveal_database_file": "DB anzeigen", + "reticulum_config": "Reticulum-Konfiguration", + "shared_instance_badge": "Gemeinsame Instanz: {address}", + "shutdown_confirm": "Möchten Sie die Anwendung wirklich beenden? Der Server wird gestoppt und die Anwendung geschlossen.", + "snapshot_create": "Erstellen", + "snapshot_download": "Herunterladen", + "snapshot_download_failed": "Schnappschuss konnte nicht heruntergeladen werden", + "snapshot_downloaded": "Schnappschuss heruntergeladen", + "snapshot_placeholder": "Schnappschuss-Bezeichnung…", + "snapshot_restore": "Wiederherstellen", + "tagline_after": ".", + "tagline_lead": "Eine sichere, widerstandsfähige Kommunikationsplattform auf Basis des ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Technische Probleme festgestellt" }, "interfaces": { "title": "Schnittstellen", @@ -1160,6 +1223,7 @@ "react": "Reagieren", "reaction_you": "Du", "reaction_send_failed": "Reaktion konnte nicht gesendet werden", + "conversation_reaction_preview": "{name} reagierte mit {emoji}", "message_not_found_in_cache": "Nachricht nicht im Cache gefunden" }, "nomadnet": { diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json index 7fc84c3..23b6a49 100644 --- a/meshchatx/src/frontend/locales/en.json +++ b/meshchatx/src/frontend/locales/en.json @@ -241,6 +241,7 @@ "reload_rns": "Reload RNS", "reload_rns_description": "Deregister all destinations, stop the current RNS instance, and reload it. This is useful for applying configuration changes or restarting the mesh network stack without restarting the entire application.", "reloading_rns": "Reloading RNS...", + "restart_rns": "Restart RNS", "reloaded_rns": "Reticulum reloaded successfully", "announce_interval": "Announce Interval", "stop_sync_confirm": "Are you sure you want to stop syncing?", @@ -696,6 +697,68 @@ "integrity_warning_footer": "Proceed with caution. If you did not manually update or modify these files, your installation may be compromised.", "no_integrity_violations": "No integrity violations detected since last startup.", "dependency_chain": "Dependency Chain", + "app_name": "MeshChatX", + "automatic_backups_desc": "Automated daily snapshots of your database.", + "automatic_backups_title": "Automatic Backups", + "backup_download_failed": "Failed to download backup", + "backup_downloaded": "Backup downloaded", + "backend_stack": "Backend Stack", + "chrome_runtime": "Chrome", + "contact_alternate": "Alternate", + "contact_details": "Details", + "contact_developer": "Contact Developer", + "contact_lxmf_address": "LXMF Address", + "contact_propagation_hint": "Send to propagation node if you cant reach me!", + "copied_label_to_clipboard": "{label} copied to clipboard", + "core_runtime": "Core Runtime", + "creating": "Creating...", + "database_backups_desc": "Full snapshots of your communications database.", + "database_backups_title": "Database Backups", + "database_health_maintenance": "Database Health & Maintenance", + "dep_lxmf_subtitle": "Lightweight Extensible Message Format", + "dep_lxmfy_subtitle": "LXMF Bot framework", + "dep_rns_subtitle": "Reticulum Network Stack", + "download_backup": "Download Backup", + "downloading": "Downloading...", + "electron_runtime": "Electron", + "environment_information": "Environment Information", + "env_backend_url": "Backend URL", + "env_language": "Language", + "env_lxmf": "LXMF", + "env_platform": "Platform", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User Agent", + "failed_to_copy_label": "Failed to copy {label}", + "free_space": "Free Space", + "identity_hash": "Identity Hash", + "journal_short": "Journal", + "local_snapshots_desc": "Create point-in-time restore points on disk.", + "local_snapshots_title": "Local Snapshots", + "lxmf_address": "LXMF Address", + "lxst_engine": "LXST Engine", + "main_instance_badge": "Main Instance", + "nodejs_runtime": "Node.js", + "page_count_label": "Page Count", + "pagination_page_of": "Page {current} of {total}", + "path_unknown": "unknown", + "recovery": "Recovery", + "recovery_failed": "Recovery failed", + "reveal_config_file": "Reveal File", + "reveal_database_file": "Reveal DB", + "reticulum_config": "Reticulum Config", + "shared_instance_badge": "Shared Instance: {address}", + "shutdown_confirm": "Are you sure you want to shutdown the app? This will stop the server and close the application.", + "snapshot_create": "Create", + "snapshot_download": "Download", + "snapshot_download_failed": "Failed to download snapshot", + "snapshot_downloaded": "Snapshot downloaded", + "snapshot_placeholder": "Snapshot label...", + "snapshot_restore": "Restore", + "tagline_after": ".", + "tagline_lead": "A secure, resilient, and beautiful communications platform powered by the", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Technical Issues Detected", "other_core_components": "Other Core Components", "backend_dependencies": "Backend Dependencies", "delete_snapshot_confirm": "Are you sure you want to delete this snapshot?", @@ -1108,6 +1171,7 @@ "react": "React", "reaction_you": "You", "reaction_send_failed": "Could not send reaction", + "conversation_reaction_preview": "{name} reacted {emoji}", "message_not_found_in_cache": "Message not found in cache" }, "settings": { diff --git a/meshchatx/src/frontend/locales/es.json b/meshchatx/src/frontend/locales/es.json index dfadef5..2b41d5d 100644 --- a/meshchatx/src/frontend/locales/es.json +++ b/meshchatx/src/frontend/locales/es.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "Sin actualizar la confianza en la telemetría.", "telemetry_trust_revoke": "Revoke Telemetry Trust", "telemetry_trust_grant": "Trust for Telemetry", - "location_manage_desc": "Administrar cómo se comparte su ubicación." + "location_manage_desc": "Administrar cómo se comparte su ubicación.", + "restart_rns": "Reiniciar RNS" }, "common": { "open": "Abierto", @@ -713,7 +714,69 @@ "failed_acknowledge_integrity": "Falta de reconocimiento de cuestiones relativas a la integridad", "shutdown_sent": "El comando Shutdown enviado al servidor.", "identity_exported": "Archivo clave de identidad exportado", - "identity_copied": "Base de identidad32 clave copiada para el portapapeles" + "identity_copied": "Base de identidad32 clave copiada para el portapapeles", + "app_name": "MeshChatX", + "automatic_backups_desc": "Copias de seguridad diarias automáticas de tu base de datos.", + "automatic_backups_title": "Copias automáticas", + "backup_download_failed": "No se pudo descargar la copia de seguridad", + "backup_downloaded": "Copia de seguridad descargada", + "backend_stack": "Pila del backend", + "chrome_runtime": "Chrome", + "contact_alternate": "Dirección alternativa", + "contact_details": "Detalles", + "contact_developer": "Contactar con el desarrollador", + "contact_lxmf_address": "Dirección LXMF", + "contact_propagation_hint": "Enviar al nodo de propagación si no puedes alcanzarme directamente.", + "copied_label_to_clipboard": "{label} copiado al portapapeles", + "core_runtime": "Motor principal", + "creating": "Creando…", + "database_backups_desc": "Copias completas de la base de datos de tus comunicaciones.", + "database_backups_title": "Copias de seguridad de la base de datos", + "database_health_maintenance": "Estado y mantenimiento de la base de datos", + "dep_lxmf_subtitle": "Formato de mensajes ligero y extensible", + "dep_lxmfy_subtitle": "Marco de bot LXMF", + "dep_rns_subtitle": "Pila de red Reticulum", + "download_backup": "Descargar copia de seguridad", + "downloading": "Descargando…", + "electron_runtime": "Electron", + "environment_information": "Información del entorno", + "env_backend_url": "URL del backend", + "env_language": "Idioma", + "env_lxmf": "LXMF", + "env_platform": "Plataforma", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "Agente de usuario", + "failed_to_copy_label": "No se pudo copiar: {label}", + "free_space": "Espacio libre", + "identity_hash": "Hash de identidad", + "journal_short": "Diario", + "local_snapshots_desc": "Crea puntos de restauración en disco en un momento concreto.", + "local_snapshots_title": "Instantáneas locales", + "lxmf_address": "Dirección LXMF", + "lxst_engine": "Motor LXST", + "main_instance_badge": "Instancia principal", + "nodejs_runtime": "Node.js", + "page_count_label": "Número de páginas", + "pagination_page_of": "Pág. {current} de {total}", + "path_unknown": "desconocido", + "recovery": "Recuperación", + "recovery_failed": "La recuperación falló", + "reveal_config_file": "Mostrar archivo", + "reveal_database_file": "Mostrar BD", + "reticulum_config": "Configuración de Reticulum", + "shared_instance_badge": "Instancia compartida: {address}", + "shutdown_confirm": "¿Seguro que quieres cerrar la aplicación? Se detendrá el servidor y se cerrará la aplicación.", + "snapshot_create": "Crear", + "snapshot_download": "Descargar", + "snapshot_download_failed": "No se pudo descargar la instantánea", + "snapshot_downloaded": "Instantánea descargada", + "snapshot_placeholder": "Etiqueta de la instantánea…", + "snapshot_restore": "Restaurar", + "tagline_after": ".", + "tagline_lead": "Una plataforma de comunicaciones segura y resistente basada en ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Problemas técnicos detectados" }, "interfaces": { "title": "Interfaces", @@ -1108,6 +1171,7 @@ "react": "Reacción", "reaction_you": "Tú.", "reaction_send_failed": "No podría enviar reacción", + "conversation_reaction_preview": "{name} reaccionó con {emoji}", "message_not_found_in_cache": "Mensaje no encontrado en caché" }, "settings": { diff --git a/meshchatx/src/frontend/locales/fr.json b/meshchatx/src/frontend/locales/fr.json index 2951c9a..bb21056 100644 --- a/meshchatx/src/frontend/locales/fr.json +++ b/meshchatx/src/frontend/locales/fr.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "La confiance en télémétrie a échoué.", "telemetry_trust_revoke": "Revoquer la confiance en télémétrie", "telemetry_trust_grant": "Confiance pour la télémétrie", - "location_manage_desc": "Gérez comment votre emplacement est partagé." + "location_manage_desc": "Gérez comment votre emplacement est partagé.", + "restart_rns": "Redémarrer RNS" }, "common": { "open": "Ouvrir", @@ -713,7 +714,69 @@ "failed_acknowledge_integrity": "Défaut de reconnaître les problèmes d'intégrité", "shutdown_sent": "Commande d'arrêt envoyée au serveur.", "identity_exported": "Fichier clé d'identité exporté", - "identity_copied": "Clé Identity Base32 copiée dans le presse-papiers" + "identity_copied": "Clé Identity Base32 copiée dans le presse-papiers", + "app_name": "MeshChatX", + "automatic_backups_desc": "Sauvegardes quotidiennes automatiques de votre base de données.", + "automatic_backups_title": "Sauvegardes automatiques", + "backup_download_failed": "Échec du téléchargement de la sauvegarde", + "backup_downloaded": "Sauvegarde téléchargée", + "backend_stack": "Pile logicielle du backend", + "chrome_runtime": "Chrome", + "contact_alternate": "Adresse alternative", + "contact_details": "Détails", + "contact_developer": "Contacter le développeur", + "contact_lxmf_address": "Adresse LXMF", + "contact_propagation_hint": "Envoyez au nœud de propagation si vous ne pouvez pas me joindre directement.", + "copied_label_to_clipboard": "{label} copié dans le presse-papiers", + "core_runtime": "Exécution principale", + "creating": "Création…", + "database_backups_desc": "Copies complètes de la base de données de vos communications.", + "database_backups_title": "Sauvegardes de la base de données", + "database_health_maintenance": "État et maintenance de la base de données", + "dep_lxmf_subtitle": "Format de messages léger et extensible", + "dep_lxmfy_subtitle": "Cadre de bot LXMF", + "dep_rns_subtitle": "Pile réseau Reticulum", + "download_backup": "Télécharger la sauvegarde", + "downloading": "Téléchargement…", + "electron_runtime": "Electron", + "environment_information": "Informations sur l'environnement", + "env_backend_url": "URL du backend", + "env_language": "Langue", + "env_lxmf": "LXMF", + "env_platform": "Plateforme", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User-Agent", + "failed_to_copy_label": "Échec de la copie : {label}", + "free_space": "Espace libre", + "identity_hash": "Hachage d'identité", + "journal_short": "Journal", + "local_snapshots_desc": "Créez des points de restauration sur disque à un instant donné.", + "local_snapshots_title": "Instantanés locaux", + "lxmf_address": "Adresse LXMF", + "lxst_engine": "Moteur LXST", + "main_instance_badge": "Instance principale", + "nodejs_runtime": "Node.js", + "page_count_label": "Nombre de pages", + "pagination_page_of": "Page {current} sur {total}", + "path_unknown": "inconnu", + "recovery": "Récupération", + "recovery_failed": "Échec de la récupération", + "reveal_config_file": "Afficher le fichier", + "reveal_database_file": "Afficher la base", + "reticulum_config": "Configuration Reticulum", + "shared_instance_badge": "Instance partagée : {address}", + "shutdown_confirm": "Voulez-vous vraiment quitter l'application ? Le serveur s'arrêtera et l'application se fermera.", + "snapshot_create": "Créer", + "snapshot_download": "Télécharger", + "snapshot_download_failed": "Échec du téléchargement de l'instantané", + "snapshot_downloaded": "Instantané téléchargé", + "snapshot_placeholder": "Libellé de l'instantané…", + "snapshot_restore": "Restaurer", + "tagline_after": ".", + "tagline_lead": "Une plateforme de communication sécurisée et résiliente basée sur ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Problèmes techniques détectés" }, "interfaces": { "title": "Interfaces", @@ -1108,6 +1171,7 @@ "react": "Réagir", "reaction_you": "Toi", "reaction_send_failed": "Impossible d'envoyer la réaction", + "conversation_reaction_preview": "{name} a réagi avec {emoji}", "message_not_found_in_cache": "Message non trouvé dans cache" }, "settings": { diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json index c86c69a..f19f71a 100644 --- a/meshchatx/src/frontend/locales/it.json +++ b/meshchatx/src/frontend/locales/it.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "Impossibile aggiornare la fiducia telemetrica.", "telemetry_trust_revoke": "Revoca Fiducia Telemetrica", "telemetry_trust_grant": "Fidati per la Telemetria", - "location_manage_desc": "Gestisci come viene condivisa la tua posizione." + "location_manage_desc": "Gestisci come viene condivisa la tua posizione.", + "restart_rns": "Riavvia RNS" }, "common": { "open": "Apri", @@ -765,7 +766,69 @@ "failed_acknowledge_integrity": "Impossibile confermare i problemi di integrità", "shutdown_sent": "Comando di spegnimento inviato al server.", "identity_exported": "File chiave identità esportato", - "identity_copied": "Chiave identità Base32 copiata negli appunti" + "identity_copied": "Chiave identità Base32 copiata negli appunti", + "app_name": "MeshChatX", + "automatic_backups_desc": "Snapshot giornalieri automatici del database.", + "automatic_backups_title": "Backup automatici", + "backup_download_failed": "Download del backup non riuscito", + "backup_downloaded": "Backup scaricato", + "backend_stack": "Stack backend", + "chrome_runtime": "Chrome", + "contact_alternate": "Indirizzo alternativo", + "contact_details": "Dettagli", + "contact_developer": "Contatta lo sviluppatore", + "contact_lxmf_address": "Indirizzo LXMF", + "contact_propagation_hint": "Invia al nodo di propagazione se non riesci a raggiungermi direttamente.", + "copied_label_to_clipboard": "{label} copiato negli appunti", + "core_runtime": "Runtime principale", + "creating": "Creazione in corso…", + "database_backups_desc": "Snapshot completi del database delle comunicazioni.", + "database_backups_title": "Backup database", + "database_health_maintenance": "Stato e manutenzione database", + "dep_lxmf_subtitle": "Formato messaggi leggero ed estensibile", + "dep_lxmfy_subtitle": "Framework bot LXMF", + "dep_rns_subtitle": "Stack di rete Reticulum", + "download_backup": "Scarica backup", + "downloading": "Download in corso…", + "electron_runtime": "Electron", + "environment_information": "Informazioni ambiente", + "env_backend_url": "URL backend", + "env_language": "Lingua", + "env_lxmf": "LXMF", + "env_platform": "Piattaforma", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User agent", + "failed_to_copy_label": "Copia non riuscita: {label}", + "free_space": "Spazio libero", + "identity_hash": "Hash identità", + "journal_short": "Journal", + "local_snapshots_desc": "Crea punti di ripristino su disco in un dato momento.", + "local_snapshots_title": "Snapshot locali", + "lxmf_address": "Indirizzo LXMF", + "lxst_engine": "Motore LXST", + "main_instance_badge": "Istanza principale", + "nodejs_runtime": "Node.js", + "page_count_label": "Conteggio pagine", + "pagination_page_of": "Pag. {current} di {total}", + "path_unknown": "sconosciuto", + "recovery": "Ripristino", + "recovery_failed": "Ripristino non riuscito", + "reveal_config_file": "Mostra file", + "reveal_database_file": "Mostra DB", + "reticulum_config": "Configurazione Reticulum", + "shared_instance_badge": "Istanza condivisa: {address}", + "shutdown_confirm": "Chiudere l'applicazione? Il server verrà arrestato e l'applicazione si chiuderà.", + "snapshot_create": "Crea", + "snapshot_download": "Scarica", + "snapshot_download_failed": "Download snapshot non riuscito", + "snapshot_downloaded": "Snapshot scaricato", + "snapshot_placeholder": "Etichetta snapshot…", + "snapshot_restore": "Ripristina", + "tagline_after": ".", + "tagline_lead": "Piattaforma di comunicazione sicura e resiliente basata su ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Rilevati problemi tecnici" }, "interfaces": { "title": "Interfacce", @@ -1160,6 +1223,7 @@ "react": "Reagisci", "reaction_you": "Tu", "reaction_send_failed": "Impossibile inviare la reazione", + "conversation_reaction_preview": "{name} ha reagito con {emoji}", "message_not_found_in_cache": "Messaggio non trovato nella cache" }, "settings": { diff --git a/meshchatx/src/frontend/locales/nl.json b/meshchatx/src/frontend/locales/nl.json index 256d1ec..e8bde66 100644 --- a/meshchatx/src/frontend/locales/nl.json +++ b/meshchatx/src/frontend/locales/nl.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "Kon telemetrie vertrouwen niet bijwerken.", "telemetry_trust_revoke": "Revoce Telemetrie Trust", "telemetry_trust_grant": "Vertrouwen voor telemetrie", - "location_manage_desc": "Beheer hoe uw locatie wordt gedeeld." + "location_manage_desc": "Beheer hoe uw locatie wordt gedeeld.", + "restart_rns": "RNS herstarten" }, "common": { "open": "Open", @@ -713,7 +714,69 @@ "failed_acknowledge_integrity": "Kon integriteitsproblemen niet erkennen", "shutdown_sent": "Afsluitopdracht verzonden naar de server.", "identity_exported": "Identiteitssleutelbestand geëxporteerd", - "identity_copied": "Identiteitsbasis32 sleutel gekopieerd naar klembord" + "identity_copied": "Identiteitsbasis32 sleutel gekopieerd naar klembord", + "app_name": "MeshChatX", + "automatic_backups_desc": "Automatische dagelijkse snapshots van je database.", + "automatic_backups_title": "Automatische back-ups", + "backup_download_failed": "Back-up downloaden mislukt", + "backup_downloaded": "Back-up gedownload", + "backend_stack": "Backend-stack", + "chrome_runtime": "Chrome", + "contact_alternate": "Alternatief adres", + "contact_details": "Details", + "contact_developer": "Ontwikkelaar contacteren", + "contact_lxmf_address": "LXMF-adres", + "contact_propagation_hint": "Stuur naar het propagatieknooppunt als je me niet direct kunt bereiken.", + "copied_label_to_clipboard": "{label} naar klembord gekopieerd", + "core_runtime": "Kernruntime", + "creating": "Bezig met maken…", + "database_backups_desc": "Volledige snapshots van je communicatiedatabase.", + "database_backups_title": "Databaseback-ups", + "database_health_maintenance": "Databasestatus en -onderhoud", + "dep_lxmf_subtitle": "Lichtgewicht uitbreidbaar berichtenformaat", + "dep_lxmfy_subtitle": "LXMF-botframework", + "dep_rns_subtitle": "Reticulum-netwerkstack", + "download_backup": "Back-up downloaden", + "downloading": "Bezig met downloaden…", + "electron_runtime": "Electron", + "environment_information": "Omgevingsinformatie", + "env_backend_url": "Backend-URL", + "env_language": "Taal", + "env_lxmf": "LXMF", + "env_platform": "Platform", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User-agent", + "failed_to_copy_label": "Kopiëren mislukt: {label}", + "free_space": "Vrije ruimte", + "identity_hash": "Identiteitshash", + "journal_short": "Journal", + "local_snapshots_desc": "Maak herstelpunten op schijf op een gekozen tijdstip.", + "local_snapshots_title": "Lokale snapshots", + "lxmf_address": "LXMF-adres", + "lxst_engine": "LXST-engine", + "main_instance_badge": "Hoofdinstantie", + "nodejs_runtime": "Node.js", + "page_count_label": "Pagina's", + "pagination_page_of": "Pagina {current} van {total}", + "path_unknown": "onbekend", + "recovery": "Herstel", + "recovery_failed": "Herstel mislukt", + "reveal_config_file": "Bestand tonen", + "reveal_database_file": "DB tonen", + "reticulum_config": "Reticulum-configuratie", + "shared_instance_badge": "Gedeelde instantie: {address}", + "shutdown_confirm": "Weet je zeker dat je de app wilt afsluiten? De server stopt en de app sluit.", + "snapshot_create": "Maken", + "snapshot_download": "Downloaden", + "snapshot_download_failed": "Snapshot downloaden mislukt", + "snapshot_downloaded": "Snapshot gedownload", + "snapshot_placeholder": "Snapshotlabel…", + "snapshot_restore": "Herstellen", + "tagline_after": ".", + "tagline_lead": "Een veilige, veerkrachtige communicatieplatform gebaseerd op ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Technische problemen gedetecteerd" }, "interfaces": { "title": "Interfaces", @@ -1108,6 +1171,7 @@ "react": "Reageren", "reaction_you": "Jij", "reaction_send_failed": "Kon reactie niet versturen", + "conversation_reaction_preview": "{name} reageerde met {emoji}", "message_not_found_in_cache": "Bericht niet gevonden in cache" }, "settings": { diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json index 0263fb5..8641399 100644 --- a/meshchatx/src/frontend/locales/ru.json +++ b/meshchatx/src/frontend/locales/ru.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "Не удалось обновить доверие телеметрии.", "telemetry_trust_revoke": "Отозвать доверие телеметрии", "telemetry_trust_grant": "Доверять телеметрии", - "location_manage_desc": "Управление тем, как передается ваше местоположение." + "location_manage_desc": "Управление тем, как передается ваше местоположение.", + "restart_rns": "Перезапуск RNS" }, "common": { "open": "Открыть", @@ -765,7 +766,69 @@ "failed_acknowledge_integrity": "Failed to acknowledge integrity issues", "shutdown_sent": "Shutdown command sent to server.", "identity_exported": "Identity key file exported", - "identity_copied": "Identity Base32 key copied to clipboard" + "identity_copied": "Identity Base32 key copied to clipboard", + "app_name": "MeshChatX", + "automatic_backups_desc": "Автоматические ежедневные снимки вашей базы данных.", + "automatic_backups_title": "Автоматические резервные копии", + "backup_download_failed": "Не удалось скачать резервную копию", + "backup_downloaded": "Резервная копия скачана", + "backend_stack": "Стек бэкенда", + "chrome_runtime": "Chrome", + "contact_alternate": "Альтернативный адрес", + "contact_details": "Подробности", + "contact_developer": "Связаться с разработчиком", + "contact_lxmf_address": "Адрес LXMF", + "contact_propagation_hint": "Отправьте на узел распространения, если не удаётся связаться со мной напрямую.", + "copied_label_to_clipboard": "{label} скопировано в буфер обмена", + "core_runtime": "Основная среда выполнения", + "creating": "Создание…", + "database_backups_desc": "Полные снимки базы данных ваших сообщений.", + "database_backups_title": "Резервные копии базы данных", + "database_health_maintenance": "Состояние и обслуживание базы данных", + "dep_lxmf_subtitle": "Лёгкий расширяемый формат сообщений", + "dep_lxmfy_subtitle": "Фреймворк LXMF-бота", + "dep_rns_subtitle": "Сетевой стек Reticulum", + "download_backup": "Скачать резервную копию", + "downloading": "Скачивание…", + "electron_runtime": "Electron", + "environment_information": "Информация о среде", + "env_backend_url": "URL бэкенда", + "env_language": "Язык", + "env_lxmf": "LXMF", + "env_platform": "Платформа", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User Agent", + "failed_to_copy_label": "Не удалось скопировать: {label}", + "free_space": "Свободно", + "identity_hash": "Хэш личности", + "journal_short": "Журнал", + "local_snapshots_desc": "Создавайте снимки на диске в выбранный момент времени.", + "local_snapshots_title": "Локальные снимки", + "lxmf_address": "Адрес LXMF", + "lxst_engine": "Движок LXST", + "main_instance_badge": "Основной экземпляр", + "nodejs_runtime": "Node.js", + "page_count_label": "Число страниц", + "pagination_page_of": "Стр. {current} из {total}", + "path_unknown": "неизвестно", + "recovery": "Восстановление", + "recovery_failed": "Восстановление не удалось", + "reveal_config_file": "Показать файл", + "reveal_database_file": "Показать БД", + "reticulum_config": "Конфигурация Reticulum", + "shared_instance_badge": "Общий экземпляр: {address}", + "shutdown_confirm": "Вы действительно хотите выключить приложение? Сервер будет остановлен и приложение закроется.", + "snapshot_create": "Создать", + "snapshot_download": "Скачать", + "snapshot_download_failed": "Не удалось скачать снимок", + "snapshot_downloaded": "Снимок скачан", + "snapshot_placeholder": "Метка снимка…", + "snapshot_restore": "Восстановить", + "tagline_after": ".", + "tagline_lead": "Надёжная отказоустойчивая платформа связи на базе ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "Обнаружены технические проблемы" }, "interfaces": { "title": "Интерфейсы", @@ -1160,6 +1223,7 @@ "react": "Реакции", "reaction_you": "Вы", "reaction_send_failed": "Не удалось отправить реакцию", + "conversation_reaction_preview": "{name} отреагировал(а) {emoji}", "message_not_found_in_cache": "Сообщение не найдено в кэше" }, "nomadnet": { diff --git a/meshchatx/src/frontend/locales/zh.json b/meshchatx/src/frontend/locales/zh.json index 90ad4c0..3203413 100644 --- a/meshchatx/src/frontend/locales/zh.json +++ b/meshchatx/src/frontend/locales/zh.json @@ -319,7 +319,8 @@ "telemetry_trust_failed": "更新遥测信任失败。", "telemetry_trust_revoke": "撤销遥测信任", "telemetry_trust_grant": "授予遥测信任", - "location_manage_desc": "管理您的位置共享方式。" + "location_manage_desc": "管理您的位置共享方式。", + "restart_rns": "重启 RNS" }, "common": { "open": "打开", @@ -713,7 +714,69 @@ "failed_acknowledge_integrity": "无法确认完整性问题", "shutdown_sent": "关闭命令已发送到服务器。", "identity_exported": "身份密钥文件已导出", - "identity_copied": "身份 Base32 密钥已复制到剪贴板" + "identity_copied": "身份 Base32 密钥已复制到剪贴板", + "app_name": "MeshChatX", + "automatic_backups_desc": "数据库的每日自动快照。", + "automatic_backups_title": "自动备份", + "backup_download_failed": "备份下载失败", + "backup_downloaded": "备份已下载", + "backend_stack": "后端技术栈", + "chrome_runtime": "Chrome", + "contact_alternate": "备用地址", + "contact_details": "详情", + "contact_developer": "联系开发者", + "contact_lxmf_address": "LXMF 地址", + "contact_propagation_hint": "若无法直接联系我,请发送至传播节点。", + "copied_label_to_clipboard": "{label} 已复制到剪贴板", + "core_runtime": "核心运行时", + "creating": "正在创建…", + "database_backups_desc": "通信数据库的完整快照。", + "database_backups_title": "数据库备份", + "database_health_maintenance": "数据库健康与维护", + "dep_lxmf_subtitle": "轻量级可扩展消息格式", + "dep_lxmfy_subtitle": "LXMF 机器人框架", + "dep_rns_subtitle": "Reticulum 网络栈", + "download_backup": "下载备份", + "downloading": "正在下载…", + "electron_runtime": "Electron", + "environment_information": "环境信息", + "env_backend_url": "后端 URL", + "env_language": "语言", + "env_lxmf": "LXMF", + "env_platform": "平台", + "env_python": "Python", + "env_rns": "RNS", + "env_user_agent": "User Agent", + "failed_to_copy_label": "复制失败:{label}", + "free_space": "可用空间", + "identity_hash": "身份哈希", + "journal_short": "日志", + "local_snapshots_desc": "在磁盘上创建指定时间点的还原点。", + "local_snapshots_title": "本地快照", + "lxmf_address": "LXMF 地址", + "lxst_engine": "LXST 引擎", + "main_instance_badge": "主实例", + "nodejs_runtime": "Node.js", + "page_count_label": "页数", + "pagination_page_of": "第 {current} 页,共 {total} 页", + "path_unknown": "未知", + "recovery": "恢复", + "recovery_failed": "恢复失败", + "reveal_config_file": "在文件夹中显示", + "reveal_database_file": "显示数据库", + "reticulum_config": "Reticulum 配置", + "shared_instance_badge": "共享实例:{address}", + "shutdown_confirm": "确定要关闭应用吗?服务器将停止运行,应用将退出。", + "snapshot_create": "创建", + "snapshot_download": "下载", + "snapshot_download_failed": "快照下载失败", + "snapshot_downloaded": "快照已下载", + "snapshot_placeholder": "快照标签…", + "snapshot_restore": "还原", + "tagline_after": "。", + "tagline_lead": "安全、有韧性的通信平台,基于 ", + "tagline_link": "Reticulum Network Stack", + "technical_issues_detected": "检测到技术问题" }, "interfaces": { "title": "接口", @@ -1108,6 +1171,7 @@ "react": "反应", "reaction_you": "您", "reaction_send_failed": "无法发送反应", + "conversation_reaction_preview": "{name} 回应了 {emoji}", "message_not_found_in_cache": "缓存中未找到消息" }, "settings": {