From bdc5779b425151f47a4f5c93566a9f40f952428d Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 24 Jun 2026 15:06:26 -0700 Subject: Add optional password-encrypted persistence for full accounts Per-account "Save on this device" encrypts a seed account into a localStorage vault (scrypt KDF + XChaCha20-Poly1305 via @noble), so it survives a browser close. On reopen, a vault prompt unlocks all saved wallets with the password (or "Use another wallet" to skip). Default stays session-only; the password is held only in memory for the session and re-encrypts on save/forget. Wrong password fails closed (AEAD). Adds @noble/ciphers dependency. New strings translated across all 19 locales. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/locales/ar.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/locales/ar.json') diff --git a/src/locales/ar.json b/src/locales/ar.json index cdfb0f8..3522b15 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -189,5 +189,22 @@ "publicKeyDesc": "شارك هذا لمراقبة هذه المحفظة للقراءة فقط على جهاز أو تطبيق آخر. يكشف عناوينك، لا مفاتيحك.", "copyKey": "نسخ المفتاح", "showPublicKey": "إظهار المفتاح العام", - "remove": "إزالة" + "remove": "إزالة", + "saveDevice": "الحفظ على هذا الجهاز", + "forgetDevice": "محفوظة · نسيان", + "savedTag": "محفوظة", + "setPassword": "تعيين كلمة سر", + "setPasswordDesc": "تشفّر هذه المحفظة على هذا الجهاز. ستحتاجها لاحقاً لفتح المحافظ المحفوظة.", + "enterPassword": "أدخل كلمة السر", + "enterPasswordDesc": "افتح محافظك المحفوظة للمتابعة.", + "password": "كلمة السر", + "confirmPassword": "تأكيد كلمة السر", + "pwTooShort": "استخدم 8 أحرف على الأقل.", + "pwMismatch": "كلمتا السر غير متطابقتين.", + "pwWrong": "كلمة سر خاطئة.", + "unlockSaved": "فتح المحافظ المحفوظة", + "unlockSavedDesc": "أدخل كلمة السر لفتح المحافظ المحفوظة على هذا الجهاز.", + "unlock": "فتح", + "useAnotherWallet": "استخدام محفظة أخرى", + "save": "حفظ" } \ No newline at end of file -- cgit v1.2.3