From 54b4c92d4f0af28d5c6c9abc13588511de758b75 Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Thu, 1 Jan 2026 19:53:44 -0600 Subject: [PATCH] feat(locales): add ringtone management translations and confirmation prompts in German, English, and Russian; enhance identity management with new identity section translations --- meshchatx/src/frontend/locales/de.json | 20 +++++++++++-- meshchatx/src/frontend/locales/en.json | 39 ++++++++++++++++++++++++-- meshchatx/src/frontend/locales/ru.json | 20 +++++++++++-- 3 files changed, 73 insertions(+), 6 deletions(-) diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json index 89ad875..68ec7ed 100644 --- a/meshchatx/src/frontend/locales/de.json +++ b/meshchatx/src/frontend/locales/de.json @@ -118,7 +118,8 @@ "reveal": "Anzeigen", "refresh": "Aktualisieren", "vacuum": "Vakuumieren", - "auto_recover": "Automatisch wiederherstellen" + "auto_recover": "Automatisch wiederherstellen", + "delete_confirm": "Sind Sie sicher, dass Sie dies löschen möchten? Dies kann nicht rückgängig gemacht werden." }, "about": { "title": "Über", @@ -606,6 +607,21 @@ "failed_to_generate_greeting": "Begrüßung konnte nicht generiert werden", "no_greeting_audio_found": "Keine Begrüßungs-Audio gefunden. Bitte generieren Sie zuerst eine.", "voicemail_deleted": "Sprachnachricht gelöscht", - "failed_to_delete_voicemail": "Sprachnachricht konnte nicht gelöscht werden" + "failed_to_delete_voicemail": "Sprachnachricht konnte nicht gelöscht werden", + "ringtone": "Klingelton", + "ringtone_settings": "Klingelton-Einstellungen", + "enable_custom_ringtone": "Benutzerdefinierten Klingelton aktivieren", + "enable_custom_ringtone_description": "Eine benutzerdefinierte Audiodatei für alle eingehenden Anrufe abspielen", + "upload_ringtone": "Klingelton hochladen", + "uploading_ringtone": "Klingelton wird hochgeladen...", + "no_custom_ringtone_uploaded": "Kein benutzerdefinierter Klingelton hochgeladen", + "supports_audio_formats": "Unterstützt MP3, OGG, WAV, M4A, FLAC. Wird in Opus konvertiert.", + "preview_ringtone": "Klingelton-Vorschau", + "remove_ringtone": "Klingelton entfernen", + "ringtone_uploaded_successfully": "Klingelton erfolgreich hochgeladen", + "failed_to_upload_ringtone": "Klingelton konnte nicht hochgeladen werden", + "ringtone_deleted": "Klingelton gelöscht", + "failed_to_delete_ringtone": "Klingelton konnte nicht gelöscht werden", + "no_ringtone_audio_found": "Keine Klingelton-Audio gefunden. Bitte laden Sie zuerst eine hoch." } } diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json index 799335f..9c636bb 100644 --- a/meshchatx/src/frontend/locales/en.json +++ b/meshchatx/src/frontend/locales/en.json @@ -12,6 +12,7 @@ "interfaces": "Interfaces", "tools": "Tools", "settings": "Settings", + "identities": "Identities", "about": "About", "my_identity": "My Identity", "identity_hash": "Identity Hash", @@ -118,7 +119,26 @@ "reveal": "Reveal", "refresh": "Refresh", "vacuum": "Vacuum", - "auto_recover": "Auto Recover" + "auto_recover": "Auto Recover", + "delete_confirm": "Are you sure you want to delete this? This cannot be undone." + }, + "identities": { + "title": "Identities", + "manage": "Manage and switch between multiple Reticulum identities.", + "new_identity": "New Identity", + "generate_fresh": "Generate a fresh Reticulum identity.", + "display_name": "Display Name", + "display_name_hint": "e.g. Secret Agent", + "current": "Current", + "switch": "Switch to this identity", + "delete": "Delete identity", + "no_identities": "No identities found", + "create_first": "Create a new identity to get started.", + "switch_confirm": "Switch to identity \"{name}\"? The application will need to restart.", + "delete_confirm": "Are you sure you want to delete identity \"{name}\"? This cannot be undone.", + "switched": "Identity switched. The application will now restart to apply changes.", + "created": "Identity created successfully", + "deleted": "Identity deleted" }, "about": { "title": "About", @@ -611,6 +631,21 @@ "failed_to_generate_greeting": "Failed to generate greeting", "no_greeting_audio_found": "No greeting audio found. Please generate one first.", "voicemail_deleted": "Voicemail deleted", - "failed_to_delete_voicemail": "Failed to delete voicemail" + "failed_to_delete_voicemail": "Failed to delete voicemail", + "ringtone": "Ringtone", + "ringtone_settings": "Ringtone Settings", + "enable_custom_ringtone": "Enable Custom Ringtone", + "enable_custom_ringtone_description": "Play a custom audio file for all incoming calls", + "upload_ringtone": "Upload Ringtone", + "uploading_ringtone": "Uploading Ringtone...", + "no_custom_ringtone_uploaded": "No custom ringtone uploaded", + "supports_audio_formats": "Supports MP3, OGG, WAV, M4A, FLAC. Will be converted to Opus.", + "preview_ringtone": "Preview Ringtone", + "remove_ringtone": "Remove Ringtone", + "ringtone_uploaded_successfully": "Ringtone uploaded successfully", + "failed_to_upload_ringtone": "Failed to upload ringtone", + "ringtone_deleted": "Ringtone deleted", + "failed_to_delete_ringtone": "Failed to delete ringtone", + "no_ringtone_audio_found": "No ringtone audio found. Please upload one first." } } diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json index 0b03663..16bf05b 100644 --- a/meshchatx/src/frontend/locales/ru.json +++ b/meshchatx/src/frontend/locales/ru.json @@ -118,7 +118,8 @@ "reveal": "Показать", "refresh": "Обновить", "vacuum": "Сжать базу", - "auto_recover": "Автовосстановление" + "auto_recover": "Автовосстановление", + "delete_confirm": "Вы уверены, что хотите удалить это? Это действие нельзя отменить." }, "about": { "title": "О программе", @@ -606,6 +607,21 @@ "failed_to_generate_greeting": "Не удалось создать приветствие", "no_greeting_audio_found": "Аудио приветствия не найдено. Пожалуйста, создайте его сначала.", "voicemail_deleted": "Голосовое сообщение удалено", - "failed_to_delete_voicemail": "Не удалось удалить голосовое сообщение" + "failed_to_delete_voicemail": "Не удалось удалить голосовое сообщение", + "ringtone": "Рингтон", + "ringtone_settings": "Настройки рингтона", + "enable_custom_ringtone": "Включить свой рингтон", + "enable_custom_ringtone_description": "Воспроизводить свой аудиофайл при всех входящих звонках", + "upload_ringtone": "Загрузить рингтон", + "uploading_ringtone": "Загрузка рингтона...", + "no_custom_ringtone_uploaded": "Свой рингтон не загружен", + "supports_audio_formats": "Поддерживаются MP3, OGG, WAV, M4A, FLAC. Будет конвертирован в Opus.", + "preview_ringtone": "Прослушать рингтон", + "remove_ringtone": "Удалить рингтон", + "ringtone_uploaded_successfully": "Рингтон успешно загружен", + "failed_to_upload_ringtone": "Не удалось загрузить рингтон", + "ringtone_deleted": "Рингтон удален", + "failed_to_delete_ringtone": "Не удалось удалить рингтон", + "no_ringtone_audio_found": "Аудио рингтона не найдено. Пожалуйста, сначала загрузите его." } }