diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json index 2865483..60f9644 100644 --- a/meshchatx/src/frontend/locales/de.json +++ b/meshchatx/src/frontend/locales/de.json @@ -203,6 +203,11 @@ "emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet.", "blackhole_integration_enabled": "Blackhole-Integration", "blackhole_integration_description": "Identitäten automatisch auf der Reticulum-Transportebene sperren (Blackhole), wenn Benutzer in MeshChatX verbannt werden.", + "announce_limits": "Ankündigungslimits", + "announce_limits_description": "Optionale maximale Anzahl pro Aspekt. Leer lassen für kein Limit. Schützt vor Flood-Angriffen in öffentlichen Netzen.", + "announce_limit_lxmf": "LXMF", + "announce_limit_nomadnet": "NomadNet", + "announce_limit_prop": "Prop-Knoten", "failed_announce": "Ankündigung fehlgeschlagen", "search_settings": "Einstellungen suchen...", "show_qr": "QR-Code anzeigen", @@ -385,7 +390,15 @@ "qr_scanned": "QR-Code gescannt", "importing_lxma": "LXMA-Kontakt wird importiert...", "send_message": "Nachricht senden", - "call_contact": "Anrufen" + "call_contact": "Anrufen", + "export_contacts": "Export", + "import_contacts": "Import", + "export_success": "Kontakte exportiert", + "export_failed": "Export fehlgeschlagen", + "import_success": "{added} Kontakt(e) importiert", + "import_failed": "Import fehlgeschlagen", + "import_modal_title": "Kontakte importieren", + "import_file_hint": "Wählen Sie eine JSON-Datei aus dem Kontakte-Export." }, "about": { "title": "Über", @@ -708,6 +721,8 @@ "profile_icon_removed": "Profile icon removed successfully", "user_banished": "User banished successfully", "failed_banish_user": "Failed to banish user", + "banish_user": "Nutzer verbannen", + "banish_confirm": "Möchten Sie diesen Nutzer wirklich verbannen? Er kann Ihnen keine Nachrichten mehr senden oder Verbindungen herstellen.", "delete_conversation_confirm": "Are you sure you want to delete this conversation?", "failed_delete_conversation": "failed to delete conversation", "delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!", @@ -726,6 +741,7 @@ "failed_to_copy_hash": "Failed to copy identity hash", "reply": "Antworten", "replying_to": "Antwort an", + "message_actions": "Nachrichtenaktionen", "message_not_found_in_cache": "Nachricht nicht im Cache gefunden" }, "nomadnet": { @@ -770,6 +786,7 @@ "failed_rename_favourite": "Failed to rename favourite", "banishment_lifted": "Banishment lifted successfully", "failed_lift_banishment": "Failed to lift banishment", + "lift_banishment": "Lift Banishment", "enter_section_name": "Enter section name", "new_section": "New Section", "rename_section": "Rename section", diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json index 564ca92..3cd23e3 100644 --- a/meshchatx/src/frontend/locales/en.json +++ b/meshchatx/src/frontend/locales/en.json @@ -206,6 +206,11 @@ "emergency_mode_active": "Emergency Mode Active - Using in-memory database and restricted services.", "blackhole_integration_enabled": "Blackhole Integration", "blackhole_integration_description": "Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX.", + "announce_limits": "Announce Limits", + "announce_limits_description": "Optional max count per aspect. Leave empty for no limit. Protects against flood attacks on public networks.", + "announce_limit_lxmf": "LXMF", + "announce_limit_nomadnet": "NomadNet", + "announce_limit_prop": "Prop Nodes", "csp_settings": "Content Security Policy (CSP)", "csp_description": "Manually add allowed domains and sources for various resource types. This is useful for custom tile servers, bots, or external integrations.", "csp_extra_connect_src": "Extra Connect Sources", @@ -672,6 +677,8 @@ "profile_icon_removed": "Profile icon removed successfully", "user_banished": "User banished successfully", "failed_banish_user": "Failed to banish user", + "banish_user": "Banish user", + "banish_confirm": "Are you sure you want to banish this user? They will not be able to send you messages or establish links.", "delete_conversation_confirm": "Are you sure you want to delete this conversation?", "failed_delete_conversation": "failed to delete conversation", "delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!", @@ -688,6 +695,7 @@ "snr_val": "SNR: {snr}dB", "reply": "Reply", "replying_to": "Replying to", + "message_actions": "Message actions", "message_not_found_in_cache": "Message not found in cache" }, "settings": { @@ -822,6 +830,7 @@ "identify_confirm": "Are you sure you want to identify yourself to this NomadNetwork Node? The page will reload after your identity has been sent.", "banishment_lifted": "Banishment lifted successfully", "failed_lift_banishment": "Failed to lift banishment", + "lift_banishment": "Lift Banishment", "enter_section_name": "Enter section name", "new_section": "New Section", "rename_section": "Rename section", @@ -1451,7 +1460,15 @@ "qr_scanned": "QR code scanned", "importing_lxma": "Importing LXMA contact...", "send_message": "Send Message", - "call_contact": "Call" + "call_contact": "Call", + "export_contacts": "Export", + "import_contacts": "Import", + "export_success": "Contacts exported", + "export_failed": "Failed to export contacts", + "import_success": "Imported {added} contact(s)", + "import_failed": "Failed to import contacts", + "import_modal_title": "Import Contacts", + "import_file_hint": "Select a JSON file exported from Contacts." }, "tutorial": { "title": "Getting Started", diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json index c5fa00b..aaa1403 100644 --- a/meshchatx/src/frontend/locales/it.json +++ b/meshchatx/src/frontend/locales/it.json @@ -206,6 +206,11 @@ "emergency_mode_active": "Modalità Emergenza Attiva - Utilizzo del database in memoria e servizi limitati.", "blackhole_integration_enabled": "Integrazione Blackhole", "blackhole_integration_description": "Metti automaticamente in blackhole le identità a livello di trasporto Reticulum quando esili gli utenti in MeshChatX.", + "announce_limits": "Limiti annunci", + "announce_limits_description": "Numero massimo opzionale per aspetto. Lasciare vuoto per nessun limite. Protegge da attacchi flood su reti pubbliche.", + "announce_limit_lxmf": "LXMF", + "announce_limit_nomadnet": "NomadNet", + "announce_limit_prop": "Nodi prop", "csp_settings": "Content Security Policy (CSP)", "csp_description": "Aggiungi manualmente domini e sorgenti consentiti per vari tipi di risorse. Utile per server di tile personalizzati, bot o integrazioni esterne.", "csp_extra_connect_src": "Sorgenti di Connessione Extra", @@ -385,7 +390,15 @@ "qr_scanned": "Codice QR scansionato", "importing_lxma": "Importazione contatto LXMA...", "send_message": "Invia messaggio", - "call_contact": "Chiama" + "call_contact": "Chiama", + "export_contacts": "Esporta", + "import_contacts": "Importa", + "export_success": "Contatti esportati", + "export_failed": "Esportazione fallita", + "import_success": "Importati {added} contatto/i", + "import_failed": "Importazione fallita", + "import_modal_title": "Importa contatti", + "import_file_hint": "Seleziona un file JSON esportato da Contatti." }, "about": { "title": "Informazioni", @@ -710,6 +723,8 @@ "profile_icon_removed": "Icona del profilo rimossa con successo", "user_banished": "Utente esiliato con successo", "failed_banish_user": "Impossibile esiliare l'utente", + "banish_user": "Esilia utente", + "banish_confirm": "Sei sicuro di voler esiliare questo utente? Non potrà più inviarti messaggi o stabilire collegamenti.", "delete_conversation_confirm": "Sei sicuro di voler eliminare questa conversazione?", "failed_delete_conversation": "impossibile eliminare la conversazione", "delete_history_confirm": "Sei sicuro di voler eliminare tutti i messaggi in questa conversazione? L'azione non può essere annullata!", @@ -726,6 +741,7 @@ "snr_val": "SNR: {snr}dB", "reply": "Rispondi", "replying_to": "In risposta a", + "message_actions": "Azioni messaggio", "message_not_found_in_cache": "Messaggio non trovato nella cache" }, "settings": { @@ -860,6 +876,7 @@ "identify_confirm": "Sei sicuro di volerti identificare su questo nodo NomadNetwork? La pagina si ricaricherà dopo l'invio della tua identità.", "banishment_lifted": "Esilio revocato con successo", "failed_lift_banishment": "Impossibile revocare l'esilio", + "lift_banishment": "Revoca esilio", "enter_section_name": "Inserisci il nome della sezione", "new_section": "Nuova Sezione", "rename_section": "Rinomina sezione", diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json index a576b7c..0599b2f 100644 --- a/meshchatx/src/frontend/locales/ru.json +++ b/meshchatx/src/frontend/locales/ru.json @@ -203,6 +203,11 @@ "emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы.", "blackhole_integration_enabled": "Интеграция Blackhole", "blackhole_integration_description": "Автоматически блокировать (blackhole) личности на транспортном уровне Reticulum при изгнании пользователей в MeshChatX.", + "announce_limits": "Лимиты объявлений", + "announce_limits_description": "Необязательный максимум по аспекту. Оставьте пустым для отсутствия лимита. Защита от флуд-атак в публичных сетях.", + "announce_limit_lxmf": "LXMF", + "announce_limit_nomadnet": "NomadNet", + "announce_limit_prop": "Prop-узлы", "failed_announce": "ошибка анонса", "search_settings": "Поиск настроек...", "show_qr": "Показать QR-код", @@ -385,7 +390,15 @@ "qr_scanned": "QR-код отсканирован", "importing_lxma": "Импорт контакта LXMA...", "send_message": "Написать сообщение", - "call_contact": "Позвонить" + "call_contact": "Позвонить", + "export_contacts": "Экспорт", + "import_contacts": "Импорт", + "export_success": "Контакты экспортированы", + "export_failed": "Ошибка экспорта", + "import_success": "Импортировано контактов: {added}", + "import_failed": "Ошибка импорта", + "import_modal_title": "Импорт контактов", + "import_file_hint": "Выберите JSON-файл, экспортированный из Контактов." }, "about": { "title": "О программе", @@ -708,6 +721,8 @@ "profile_icon_removed": "Profile icon removed successfully", "user_banished": "User banished successfully", "failed_banish_user": "Failed to banish user", + "banish_user": "Забанить пользователя", + "banish_confirm": "Вы уверены, что хотите забанить этого пользователя? Он не сможет отправлять вам сообщения или устанавливать соединения.", "delete_conversation_confirm": "Are you sure you want to delete this conversation?", "failed_delete_conversation": "failed to delete conversation", "delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!", @@ -726,6 +741,7 @@ "failed_to_copy_hash": "Failed to copy identity hash", "reply": "Ответить", "replying_to": "Ответ на", + "message_actions": "Действия с сообщением", "message_not_found_in_cache": "Сообщение не найдено в кэше" }, "nomadnet": { @@ -770,6 +786,7 @@ "failed_rename_favourite": "Failed to rename favourite", "banishment_lifted": "Banishment lifted successfully", "failed_lift_banishment": "Failed to lift banishment", + "lift_banishment": "Lift Banishment", "enter_section_name": "Enter section name", "new_section": "New Section", "rename_section": "Rename section",