Merge pull request #4209 from vitorpamplona/claude/hopeful-volta-2aphad

feat: redesign Backup Keys (hand-copyable nsec, confirm-then-encrypt ncryptsec) + NIP-49 fixes
This commit is contained in:
Vitor Pamplona
2026-09-27 12:03:01 -04:00
committed by GitHub
72 changed files with 1263 additions and 810 deletions
@@ -37,6 +37,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerSync
import com.vitorpamplona.quartz.nip05DnsIdentifiers.Nip05Client
import com.vitorpamplona.quartz.nip06KeyDerivation.Nip06
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser
import com.vitorpamplona.quartz.nip19Bech32.decodePrivateKeyAsHexOrNull
import com.vitorpamplona.quartz.nip19Bech32.decodePublicKeyAsHexOrNull
@@ -202,14 +203,17 @@ class AccountSessionManager(
packageName: String = "",
onError: (String?) -> Unit,
) {
// Accepts keys copied by hand from the backup screen: UPPERCASE, and split
// into groups by spaces, dashes or line breaks.
val cleanKey = Bech32Transcription.normalize(key)
scope.launch(Dispatchers.IO) {
if (key.startsWith("ncryptsec")) {
if (cleanKey.startsWith("ncryptsec")) {
val newKey =
try {
if (key.isEmpty() || password.isEmpty()) {
if (cleanKey.isEmpty() || password.isEmpty()) {
null
} else {
Nip49().decrypt(key, password)
Nip49().decrypt(cleanKey, password)
}
} catch (e: Exception) {
if (e is CancellationException) throw e
@@ -223,24 +227,24 @@ class AccountSessionManager(
} else {
loginSync(newKey, transientAccount, loginWithExternalSigner, packageName, onError)
}
} else if (EMAIL_PATTERN.matcher(key).matches()) {
} else if (EMAIL_PATTERN.matcher(cleanKey).matches()) {
// Delegate to the shared quartz resolver so NIP-05 handling stays in
// lockstep with the CLI and anywhere else we accept user identifiers.
try {
val hex =
com.vitorpamplona.quartz.nip05DnsIdentifiers
.resolveUserHexOrNull(key, nip05ClientBuilder())
.resolveUserHexOrNull(cleanKey, nip05ClientBuilder())
if (hex == null) {
onError("User not found in the nip05 server: $key")
onError("User not found in the nip05 server: $cleanKey")
} else {
loginSync(Hex.decode(hex).toNpub(), transientAccount, loginWithExternalSigner, packageName, onError)
}
} catch (e: Exception) {
if (e is CancellationException) throw e
onError("Could not load nip05 address from the server: $key. ${e.message}")
onError("Could not load nip05 address from the server: $cleanKey. ${e.message}")
}
} else {
loginSync(key, transientAccount, loginWithExternalSigner, packageName, onError)
loginSync(cleanKey, transientAccount, loginWithExternalSigner, packageName, onError)
}
}
}
@@ -39,6 +39,7 @@ import com.vitorpamplona.amethyst.commons.resources.password_is_required
import com.vitorpamplona.amethyst.commons.resources.sign_request_rejected_description
import com.vitorpamplona.amethyst.commons.tor.TorSettingsFlow
import com.vitorpamplona.amethyst.ui.screen.AccountSessionManager
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
@Stable
class LoginViewModel : ViewModel() {
@@ -58,7 +59,7 @@ class LoginViewModel : ViewModel() {
var password by mutableStateOf(TextFieldValue(""))
val needsPassword by derivedStateOf {
key.text.startsWith("ncryptsec1")
Bech32Transcription.normalize(key.text).startsWith("ncryptsec1")
}
var isFirstLogin by mutableStateOf(false)
@@ -25,6 +25,7 @@ import com.vitorpamplona.amethyst.cli.Identity
import com.vitorpamplona.amethyst.cli.Output
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.bech32.bechToBytes
import com.vitorpamplona.quartz.nip19Bech32.toNpub
import com.vitorpamplona.quartz.nip49PrivKeyEnc.Nip49
@@ -121,7 +122,7 @@ object KeyCommands {
private fun decrypt(rest: Array<String>): Int {
val args = Args(rest)
val ncryptsec = args.positional(0, "ncryptsec").trim()
val ncryptsec = Bech32Transcription.normalize(args.positional(0, "ncryptsec"))
if (!ncryptsec.startsWith("ncryptsec")) return Output.error("bad_args", "expected an ncryptsec1… string")
// Read both spellings eagerly so passing both doesn't trip rejectUnknown().
val pwAlias = args.flag("pw")
@@ -30,6 +30,7 @@ import com.vitorpamplona.quartz.nip05DnsIdentifiers.Nip05Client
import com.vitorpamplona.quartz.nip05DnsIdentifiers.OkHttpNip05Fetcher
import com.vitorpamplona.quartz.nip05DnsIdentifiers.resolveUserHexOrNull
import com.vitorpamplona.quartz.nip06KeyDerivation.Nip06
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.toNpub
import com.vitorpamplona.quartz.nip46RemoteSigner.signer.NostrSignerRemote
import com.vitorpamplona.quartz.nip49PrivKeyEnc.Nip49
@@ -90,7 +91,7 @@ object LoginCommand {
args.rejectUnknown("password", "pw", "private")
val identity =
resolveIdentity(key, args)
resolveIdentity(Bech32Transcription.normalize(key), args)
?: return Output.error(
"bad_key",
"could not parse '$key' as any supported identifier",
@@ -227,7 +227,6 @@
<string name="relays">Relays</string>
<string name="website">الموقع</string>
<string name="lightning_address">Lightning عنوان</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">نسخ معرف Nsec (كلمة المرور الخاصة بك) إلى الحافظة للنسخ الاحتياطي</string>
<string name="send_a_direct_message">إرسال رسالة مباشرة</string>
<string name="edits_the_user_s_metadata">القيام بتحرير metadata للمستخدم</string>
<string name="unblock">رفع الحظر</string>
@@ -282,9 +281,6 @@
<string name="mark_all_known_as_read">ضع علامة على جميع الرسائل/الاشعارات المعروفة كمقروء</string>
<string name="mark_all_new_as_read">تعيين الجديد كمقروء</string>
<string name="mark_all_as_read">تعيين الكل كمقروء</string>
<string name="account_backup_tips2_md">## النصائح الرئيسية للنسخ الاحتياطي والسلامة \n\n- يتم تأمين حسابك بمفتاح سري. المفتاح السري هو سلسلة عشوائية طويلة تبدأ بـ **nsec1**. أي شخص لديه مفتاحك السري يمكنه نشر المحتوى باستخدام هويتك. \n\n- لا تقم بوضع مفتاحك السري في أي موقع أو برنامج لا تثق به. \n- مطوري Amethyst لن يطلبوا منك **أبدا** المفتاح السري الخاص بك. \n- حافظ على نسخة احتياطية آمنة لمفتاحك السري لاسترداد الحساب. نوصي باستخدام برنامج لادارة كلمات المرور.</string>
<string name="account_backup_tips3_md">للحصول على أمان إضافي، يمكنك تشفير مفتاحك الخاص بكلمة مرور. يبدأ هذا المفتاح المشفر بـ **ncryptsec1** ولا يمكن استخدامه دون كلمة المرور الخاصة بك. \n\nإذا فقدت كلمة المرور، لن تتمكن من استرداد مفتاحك الخاص.</string>
<string name="encrypt_and_copy_my_secret_key">تشفير و نسخ المفتاح الخاص</string>
<string name="badge_award_image_for">صورة شارة مكافئة ل %1$s</string>
<string name="badge_award_image">"صورة منح الشارة</string>
<string name="new_badge_award_notif">لقد حصلت على شارة جائزة جديدة</string>
@@ -2039,7 +2035,6 @@
<string name="copied_note_text_to_clipboard">تم نسخ نص الملاحظة/المنشور إلى الحافظة</string>
<string name="copied_to_clipboard">تم النسخ إلى الحافظة</string>
<string name="copied_user_id_to_clipboard">تم نسخ عنوان @npub المؤلف إلى الحافظة</string>
<string name="copy_my_secret_key">إنسخ مفتاحي السري</string>
<string name="copy_to_clipboard">نسخ إلى الحافظة</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">تعذّر إنشاء LNUrl من عنوان Lightning "%1$s". تحقق من إعداد المستخدم</string>
<string name="could_not_check_downloaded_file">تعذّر التحقق من الملف المنزّل بعد الرفع: %1$s</string>
@@ -2930,10 +2925,8 @@
<string name="share_hls_video">رفع HLS</string>
<string name="share_or_save">مشاركة أو حفظ</string>
<string name="shorts">مقاطع قصيرة</string>
<string name="show_encrypted_private_key_qr_code">إظهار رمز QR المفتاح الخاص المشفر</string>
<string name="show_messages_in_notifications_setting_description">تضمين الرسائل المباشرة والجماعية في تبويب الإشعارات. أوقف التشغيل للاحتفاظ بالرسائل في تبويب الرسائل فقط.</string>
<string name="show_messages_in_notifications_setting_title">إظهار الرسائل</string>
<string name="show_private_key_qr_code">إظهار رمز QR المفتاح الخاص</string>
<string name="sign_request_rejected2">تم رفض طلب التوقيع</string>
<string name="sign_request_rejected_description">تأكد من أن تطبيق الموقِّع قد أذن بهذه المعاملة</string>
<string name="signer_illegal_state_exception_description">أعاد الموقِّع الخارجي بيانات غير متوقعة للطلب. قد يكون هناك خطأ في Amethyst أو في تطبيق الموقِّع.</string>
@@ -217,7 +217,6 @@
<string name="relays"> রিলেগুলি</string>
<string name="website">ওয়েবসাইট</string>
<string name="lightning_address">বিজলি-ঠিকানা</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">ব্যাকআপের জন্য আপনার Nsec আইডি (তথা পাসওয়ার্ড) ক্লিপবোর্ডে কপি করে</string>
<string name="send_a_direct_message">একটি সরাসরি-বার্তা পাঠান</string>
<string name="edits_the_user_s_metadata">ব্যবহারকারীর মেটাডেটা সম্পাদনা করে</string>
<string name="unblock">আনব্লক করুন</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">পরিচিত সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
<string name="mark_all_new_as_read">নতুন সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
<string name="mark_all_as_read">সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
<string name="account_backup_tips2_md">## মূল ব্যাকআপ এবং নিরাপত্তা টিপস \n\n আপনার অ্যাকাউন্ট একটি গোপন কী দ্বারা সুরক্ষিত। মূলটি হল অক্ষরগুলির একটি দীর্ঘ ক্রম যা শুরু হয় **nsec1**. যে কেউ এই গোপন কী অ্যাক্সেস করতে পারে পোস্ট এবং আপনার পরিচয় পরিবর্তন করতে পারেন. \n\n- আপনি বিশ্বাস করেন না এমন কোনো ওয়েবসাইট বা সফ্টওয়্যারে আপনার গোপন কী **করবেন না**. \n- অ্যামেথিস্ট ডেভেলপাররা **কখনই** আপনার গোপন কী চাইবে না. \n- **করুন** অ্যাকাউন্ট পুনরুদ্ধারের জন্য আপনার গোপন কীটির একটি নিরাপদ ব্যাকআপ রাখুন৷. আমরা একটি পাসওয়ার্ড ম্যানেজার ব্যবহার করার পরামর্শ দিই।.</string>
<string name="account_backup_tips3_md">অতিরিক্ত নিরাপত্তার জন্য, আপনি একটি পাসওয়ার্ড দিয়ে আপনার কী এনক্রিপ্ট করতে পারেন. এই কী দিয়ে শুরু হয় **ncryptsec1** এবং আপনার পাসওয়ার্ড ছাড়া ব্যবহার করা যাবে না।. \n\n আপনি যদি আপনার পাসওয়ার্ড হারিয়ে ফেলেন, আপনি আপনার কী পুনরুদ্ধার করতে পারবেন না।.</string>
<string name="encrypt_and_copy_my_secret_key">এনক্রিপ্ট এবং আমার গোপন কী অনুলিপি</string>
<string name="badge_award_image_for">%1$s -এর জন্য ব্যাজ পুরষ্কারের ছবি</string>
<string name="badge_award_image">"ব্যাজ পুরস্কার চিত্র</string>
<string name="new_badge_award_notif">আপনি একটি নতুন ব্যাজ পুরষ্কার পেয়েছেন</string>
@@ -2005,7 +2001,6 @@
<string name="copied_note_text_to_clipboard">নোটের রচনাটি ক্লিপবোর্ডে কপি করা হয়েছে</string>
<string name="copied_to_clipboard">ক্লিপবোর্ডে কপি হয়েছে</string>
<string name="copied_user_id_to_clipboard">রচয়িতার @npub ক্লিপবোর্ডে কপি করুন</string>
<string name="copy_my_secret_key">আমার ব্যক্তিগত চাবিটি কপি করুন</string>
<string name="copy_to_clipboard">ক্লিপবোর্ডে কপি করুন</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning Address "%1$s" থেকে LNUrl তৈরি করা যায়নি। ব্যবহারকারীর সেটআপ পরীক্ষা করুন</string>
<string name="could_not_check_downloaded_file">আপলোডের পরে ডাউনলোড করা ফাইল পরীক্ষা করা যায়নি: %1$s</string>
@@ -2811,10 +2806,8 @@
<string name="share_hls_video">HLS আপলোড</string>
<string name="share_or_save">শেয়ার বা সেভ করুন</string>
<string name="shorts">শর্টস</string>
<string name="show_encrypted_private_key_qr_code">এনক্রিপ্টেড প্রাইভেট কী QR কোড দেখান</string>
<string name="show_messages_in_notifications_setting_description">বিজ্ঞপ্তি ট্যাবে সরাসরি ও গ্রুপ বার্তা অন্তর্ভুক্ত করুন। বার্তাগুলো শুধুমাত্র বার্তা ট্যাবে রাখতে বন্ধ করুন।</string>
<string name="show_messages_in_notifications_setting_title">বার্তা দেখান</string>
<string name="show_private_key_qr_code">প্রাইভেট কী QR কোড দেখান</string>
<string name="sign_request_rejected2">সাইন অনুরোধ প্রত্যাখ্যাত</string>
<string name="sign_request_rejected_description">নিশ্চিত করুন যে সাইনার অ্যাপ্লিকেশনটি এই লেনদেন অনুমোদন করেছে</string>
<string name="signer_illegal_state_exception_description">এক্সটার্নাল সাইনার অনুরোধের জন্য একটি অপরিচিত পেলোড ফেরত দিয়েছে। Amethyst বা সাইনারে একটি বাগ থাকতে পারে।</string>
@@ -561,7 +561,6 @@
<string name="relays"> Přeposílání</string>
<string name="website">Webová stránka</string>
<string name="lightning_address">Lightning adresa</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Zkopíruje Nsec ID (vaše heslo) do schránky pro zálohování</string>
<string name="send_a_direct_message">Poslat přímou zprávu</string>
<string name="edits_the_user_s_metadata">Upravit uživatelova metadata</string>
<string name="unblock">Odblokovat</string>
@@ -670,14 +669,11 @@
<string name="mark_all_known_as_read">Označit všechny známé jako přečtené</string>
<string name="mark_all_new_as_read">Označit všechny nové jako přečtené</string>
<string name="mark_all_as_read">Označit všechny jako přečtené</string>
<string name="account_backup_tips2_md">## Tipy pro zálohování klíčů a bezpečnost \n\nVaše konto je zabezpečeno tajným klíčem. Klíč je dlouhá posloupnost znaků začínající s **nsec1**. Kdo má přístup k tomuto tajnému klíči, může přispívat a měnit vaši identitu. \n\n- **Nedávejte** svůj tajný klíč na žádnou webovou stránku nebo do žádného softwaru, kterému nedůvěřujete. \n- Vývojáři Amethystu nikdy **nebudou** žádat o váš tajný klíč. \n- **Udržujte** bezpečnou zálohu vašeho tajného klíče pro obnovení účtu. Doporučujeme použití správce hesel.</string>
<string name="account_backup_tips3_md">Pro další zabezpečení můžete svůj klíč zašifrovat heslem. Tento klíč začíná s **ncryptsec1** a nelze ho použít bez vašeho hesla. \n\nPokud zapomenete heslo, nebudete moci obnovit svůj klíč.</string>
<string name="backup_keys_nudge_title">Zálohujte si klíče</string>
<string name="backup_keys_nudge_body">Váš tajný klíč je jediný způsob, jak se k tomuto účtu dostat. Pokud ho ztratíte, nelze ho už nikdy obnovit. Uložte si ho někam do bezpečí.</string>
<string name="backup_keys_nudge_backup_now">Zálohovat nyní</string>
<string name="backup_keys_nudge_already_saved">Uložil jsem si je</string>
<string name="backup_keys_nudge_dismiss">Zavřít</string>
<string name="encrypt_and_copy_my_secret_key">Zašifrovat a zkopírovat můj tajný klíč</string>
<string name="badge_award_image_for">Obrázek ocenění od %1$s</string>
<string name="badge_award_image">Obrázek ocenění</string>
<string name="new_badge_award_notif">Obdrželi jste nové ocenění</string>
@@ -3653,7 +3649,6 @@
<string name="copied_note_text_to_clipboard">Text poznámky zkopírován do schránky</string>
<string name="copied_to_clipboard">Zkopírováno do schránky</string>
<string name="copied_user_id_to_clipboard">Uživatelovo ID (@npub) zkopírováno do schránky</string>
<string name="copy_my_secret_key">Zkopírovat můj tajný klíč</string>
<string name="copy_to_clipboard">Kopírovat do schránky</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nepodařilo se sestavit LNUrl z Lightning adresy "%1$s". Zkontrolujte nastavení uživatele</string>
<string name="could_not_check_downloaded_file">Nelze zkontrolovat stažený soubor po nahrání: %1$s</string>
@@ -5256,10 +5251,8 @@
<string name="share_hls_video">HLS nahrávání</string>
<string name="share_or_save">Sdílet nebo Uložit</string>
<string name="shorts">Krátká videa</string>
<string name="show_encrypted_private_key_qr_code">Zobrazit šifrovaný QR kód soukromého klíče</string>
<string name="show_messages_in_notifications_setting_description">Zahrnout přímé a skupinové zprávy na kartě Oznámení. Vypněte, aby zprávy zůstaly pouze na kartě Zprávy.</string>
<string name="show_messages_in_notifications_setting_title">Zobrazit zprávy</string>
<string name="show_private_key_qr_code">Zobrazit QR kód privátního klíče</string>
<string name="sign_request_rejected2">Požadavek na podpis byl zamítnut</string>
<string name="sign_request_rejected_description">Ujistěte se, že podepisující aplikace autorizovala tuto transakci</string>
<string name="signer_illegal_state_exception_description">Externí podepisovatel vrátil data, která jsou pro daný požadavek neobvyklá. Může se jednat o chybu v Amethystu nebo v podepisovateli.</string>
@@ -545,7 +545,6 @@
<string name="relays"> Relays</string>
<string name="website">Website</string>
<string name="lightning_address">Lightning-Adresse</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopiert die Nsec-ID (Ihr Passwort) zur Sicherung in die Zwischenablage</string>
<string name="send_a_direct_message">Sende eine Direktnachricht</string>
<string name="edits_the_user_s_metadata">Bearbeitet die Benutzermetadaten</string>
<string name="unblock">Entsperren</string>
@@ -654,14 +653,11 @@
<string name="mark_all_known_as_read">Alle Kontakte als gelesen markieren</string>
<string name="mark_all_new_as_read">Alle Unbekannten als gelesen markieren</string>
<string name="mark_all_as_read">Alle als gelesen markieren</string>
<string name="account_backup_tips2_md">## Tipps zur Schlüsselsicherheit \n\nDein Konto ist durch einen privaten Schlüssel gesichert. Der Schlüssel ist eine lange Zeichenfolge, die mit **nsec1** beginnt. Jeder, der Zugriff auf diesen privaten Schlüssel hat, kann in deinem Namen posten und dein Profil ändern. \n\n- Lege deinen privaten Schlüssel **nicht** auf einer Website oder in einer Software ab, der du nicht vertraust. \n- Die Entwickler von Amethyst werden dich **niemals** nach deinem privaten Schlüssel fragen. \n- **Bewahre** eine sichere Kopie deines privaten Schlüssels zur Kontowiederherstellung auf. Wir empfehlen die Verwendung eines Passwort-Managers.</string>
<string name="account_backup_tips3_md">Für zusätzliche Sicherheit kannst du deinen Schlüssel mit einem Passwort verschlüsseln. Dieser Schlüssel beginnt mit **ncryptsec1** und kann ohne dein Passwort nicht verwendet werden. \n\nWenn du dein Passwort verlierst, kannst du deinen Schlüssel nicht wiederherstellen.</string>
<string name="backup_keys_nudge_title">Sichere deine Schlüssel</string>
<string name="backup_keys_nudge_body">Dein geheimer Schlüssel ist der einzige Weg zu diesem Konto. Wenn du ihn verlierst, kann er nie wiederhergestellt werden. Speichere ihn jetzt an einem sicheren Ort.</string>
<string name="backup_keys_nudge_backup_now">Jetzt sichern</string>
<string name="backup_keys_nudge_already_saved">Habe ich gespeichert</string>
<string name="backup_keys_nudge_dismiss">Schließen</string>
<string name="encrypt_and_copy_my_secret_key">Meinen privaten Schlüssel verschlüsseln und kopieren</string>
<string name="badge_award_image_for">Auszeichnungsbild für %1$s</string>
<string name="badge_award_image">Auszeichnungsbild</string>
<string name="new_badge_award_notif">Du hast eine neue Auszeichnung erhalten</string>
@@ -3577,7 +3573,6 @@
<string name="copied_note_text_to_clipboard">Notiztext in die Zwischenablage kopiert</string>
<string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
<string name="copied_user_id_to_clipboard">Autor-ID in die Zwischenablage kopiert</string>
<string name="copy_my_secret_key">Meinen geheimen Schlüssel kopieren</string>
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Konnte keine LNUrl aus der Lightning-Adresse "%1$s" zusammenstellen. Überprüfe die Konfiguration des Benutzers</string>
<string name="could_not_check_downloaded_file">Die heruntergeladene Datei konnte nach dem Hochladen nicht überprüft werden: %1$s</string>
@@ -5042,10 +5037,8 @@
<string name="share_hls_video">HLS-Upload</string>
<string name="share_or_save">Teilen oder Speichern</string>
<string name="shorts">Kurzvideos</string>
<string name="show_encrypted_private_key_qr_code">QR-Code für verschlüsselten privaten Schlüssel anzeigen</string>
<string name="show_messages_in_notifications_setting_description">Direkt- und Gruppennachrichten im Benachrichtigungs-Tab anzeigen. Deaktivieren, um Nachrichten nur im Nachrichten-Tab zu behalten.</string>
<string name="show_messages_in_notifications_setting_title">Nachrichten anzeigen</string>
<string name="show_private_key_qr_code">Privaten QR-Code anzeigen</string>
<string name="sign_request_rejected2">Signaturanfrage abgelehnt</string>
<string name="sign_request_rejected_description">Stell sicher, dass die Signer-App diese Transaktion autorisiert hat</string>
<string name="signer_illegal_state_exception_description">Externer Signer hat Daten zurückgegeben, die für die Anfrage ungewöhnlich sind. Es könnte ein Fehler in Amethyst oder im Signer vorliegen.</string>
@@ -204,7 +204,6 @@
<string name="relays"> Relais</string>
<string name="website">Webseite</string>
<string name="lightning_address">Lightning-Adresse</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopiert die Nsec-ID (Ihr Passwort) zur Sicherung in die Zwischenablage</string>
<string name="send_a_direct_message">Sende eine Direktnachricht</string>
<string name="edits_the_user_s_metadata">Bearbeitet die Benutzermetadaten</string>
<string name="unblock">Entsperren</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">Alle als bekannt markieren</string>
<string name="mark_all_new_as_read">Alle als neu markieren</string>
<string name="mark_all_as_read">Alle als gelesen markieren</string>
<string name="account_backup_tips2_md">## Schlüsselsicherheits-Tipps \n\nIhr Konto ist durch einen geheimen Schlüssel gesichert. Der Schlüssel ist eine lange Zeichenfolge, die mit **nsec1** beginnt. Jeder, der Zugriff auf diesen geheimen Schlüssel hat, kann Ihre Identität posten und ändern. \n\n- Legen Sie Ihren geheimen Schlüssel **nicht** auf eine Website oder in eine Software, der Sie nicht vertrauen. \n- Die Entwickler von Amethyst werden Sie **niemals** nach Ihrem geheimen Schlüssel fragen. \n- **Bewahren Sie** eine sichere Sicherung Ihres geheimen Schlüssels zur Kontowiederherstellung auf. Wir empfehlen die Verwendung eines Passwort-Managers.</string>
<string name="account_backup_tips3_md">Für zusätzliche Sicherheit können Sie Ihren Schlüssel mit einem Passwort verschlüsseln. Dieser Schlüssel beginnt mit **ncryptsec1** und kann ohne Ihr Passwort nicht verwendet werden. \n\nWenn Sie Ihr Passwort verlieren, können Sie Ihren Schlüssel nicht wiederherstellen.</string>
<string name="encrypt_and_copy_my_secret_key">Verschlüsseln und kopieren Sie meinen geheimen Schlüssel</string>
<string name="badge_award_image_for">Auszeichnungsbild für %1$s</string>
<string name="badge_award_image">Auszeichnungsbild</string>
<string name="new_badge_award_notif">Sie haben eine neue Auszeichnung erhalten</string>
@@ -2047,7 +2043,6 @@
<string name="copied_note_text_to_clipboard">Notiztext in die Zwischenablage kopiert</string>
<string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
<string name="copied_user_id_to_clipboard">Autor-ID in die Zwischenablage kopiert</string>
<string name="copy_my_secret_key">Meinen geheimen Schlüssel kopieren</string>
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Konnte keine LNUrl aus der Lightning-Adresse "%1$s" zusammenstellen. Überprüfen Sie die Konfiguration des Benutzers</string>
<string name="could_not_check_downloaded_file">Die heruntergeladene Datei konnte nach dem Hochladen nicht überprüft werden: %1$s</string>
@@ -2896,10 +2891,8 @@
<string name="share_hls_video">HLS-Upload</string>
<string name="share_or_save">Teilen oder Speichern</string>
<string name="shorts">Kurzvideos</string>
<string name="show_encrypted_private_key_qr_code">QR-Code für verschlüsselten privaten Schlüssel anzeigen</string>
<string name="show_messages_in_notifications_setting_description">Direkt- und Gruppennachrichten im Benachrichtigungs-Tab anzeigen. Deaktivieren, um Nachrichten nur im Nachrichten-Tab zu behalten.</string>
<string name="show_messages_in_notifications_setting_title">Nachrichten anzeigen</string>
<string name="show_private_key_qr_code">Privaten QR-Code anzeigen</string>
<string name="sign_request_rejected2">Signaturanfrage abgelehnt</string>
<string name="sign_request_rejected_description">Stellen Sie sicher, dass die Unterzeichner-Anwendung diese Transaktion autorisiert hat</string>
<string name="signer_illegal_state_exception_description">Externer Signierer hat Daten zurückgegeben, die für die Anfrage ungewöhnlich sind. Es könnte ein Fehler in Amethyst oder im Signierer vorliegen.</string>
@@ -216,7 +216,6 @@
<string name="relays"> Διαμοιραστές</string>
<string name="website">Ιστοσελίδα</string>
<string name="lightning_address">Διεύθυνση Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Αντιγράφει το "Μυστικό Κλειδί" σας (Nsec ID ή αλλιώς ο μυστικός κωδικός πρόσβασής σας) στο πρόχειρο για δημιουργία αντιγράφου ασφαλείας</string>
<string name="send_a_direct_message">Αποστολή Άμεσου Μηνύματος</string>
<string name="edits_the_user_s_metadata">Επεξεργασία των Μεταδεδομένων του Χρήστη</string>
<string name="unblock">Άρση Αποκλεισμού</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">Σήμανση όλων των γνωστοποιήσεων ως αναγνωσμένων</string>
<string name="mark_all_new_as_read">Σήμανση όλων ως αναγνωσμένων</string>
<string name="mark_all_as_read">Σήμανση όλων ως αναγνωσμένα</string>
<string name="account_backup_tips2_md">## Συμβουλές ασφαλείας και δημιουργίας αντιγράφων ασφαλείας κλειδιού \n\nΟ λογαριασμός σου ασφαλίζεται με ένα μυστικό κλειδί. Το κλειδί είναι μια μακρά ακολουθία χαρακτήρων που ξεκινά με **nsec1**. Όποιος έχει πρόσβαση σε αυτό το μυστικό κλειδί μπορεί να δημοσιεύει και να αλλάζει την ταυτότητά σου. \n\n- **Μην** βάζεις το μυστικό σου κλειδί σε κανέναν ιστότοπο ή λογισμικό που δεν εμπιστεύεσαι. \n- Οι προγραμματιστές του Amethyst **δεν** θα ζητήσουν ποτέ το μυστικό σου κλειδί. \n- **Διατήρησε** ένα ασφαλές αντίγραφο ασφαλείας του μυστικού σου κλειδιού για ανάκτηση λογαριασμού. Συνιστούμε τη χρήση διαχειριστή κωδικών πρόσβασης.</string>
<string name="account_backup_tips3_md">Για πρόσθετη ασφάλεια, μπορείς να κρυπτογραφήσεις το κλειδί σου με κωδικό πρόσβασης. Αυτό το κλειδί ξεκινά με **ncryptsec1** και δεν μπορεί να χρησιμοποιηθεί χωρίς τον κωδικό σου. \n\nΑν χάσεις τον κωδικό σου, δεν θα μπορείς να ανακτήσεις το κλειδί σου.</string>
<string name="encrypt_and_copy_my_secret_key">Κρυπτογράφηση και αντιγραφή του μυστικού μου κλειδιού</string>
<string name="badge_award_image_for">Σήμα βράβευσης για %1$s</string>
<string name="badge_award_image">"Εικόνα βραβείου παρασήμου</string>
<string name="new_badge_award_notif">Λάβατε ένα νέο Σήμα Βράβευσης</string>
@@ -1990,7 +1986,6 @@
<string name="copied_note_text_to_clipboard">Το κείμενο της δημοσίευσης αποθηκεύτηκε στο πρόχειρο</string>
<string name="copied_to_clipboard">Αντιγράφηκε στο πρόχειρο</string>
<string name="copied_user_id_to_clipboard">Το "Δημόσιο Κλειδί" του συντάκτη της δημοσίευσης αποθηκεύτηκε στο πρόχειρο</string>
<string name="copy_my_secret_key">Αντιγραφή του "Μυστικού Κλειδιού" μου</string>
<string name="copy_to_clipboard">Αντιγραφή στο πρόχειρο</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Δεν ήταν δυνατή η δημιουργία του LNUrl από τη διεύθυνση Lightning "%1$s". Ελέγξτε ρυθμίσεις χρήστη</string>
<string name="could_not_check_downloaded_file">Δεν ήταν δυνατός ο έλεγχος του ληφθέντος αρχείου μετά το ανέβασμα: %1$s</string>
@@ -2759,10 +2754,8 @@
<string name="share_as_image_url">Κοινοποίηση ως URL εικόνας</string>
<string name="share_hls_video">Μεταφόρτωση HLS</string>
<string name="share_or_save">Κοινοποίηση ή αποθήκευση</string>
<string name="show_encrypted_private_key_qr_code">Εμφάνιση QR code κρυπτογραφημένου ιδιωτικού κλειδιού</string>
<string name="show_messages_in_notifications_setting_description">Συμπερίληψη άμεσων και ομαδικών μηνυμάτων στην καρτέλα ειδοποιήσεων. Απενεργοποιήστε για να διατηρείτε τα μηνύματα μόνο στην καρτέλα μηνυμάτων.</string>
<string name="show_messages_in_notifications_setting_title">Εμφάνιση μηνυμάτων</string>
<string name="show_private_key_qr_code">Εμφάνιση QR code ιδιωτικού κλειδιού</string>
<string name="sign_request_rejected2">Αίτημα υπογραφής απορρίφθηκε</string>
<string name="sign_request_rejected_description">Βεβαιωθείτε ότι η εφαρμογή υπογραφής έχει εξουσιοδοτήσει αυτή τη συναλλαγή</string>
<string name="signer_illegal_state_exception_description">Ο εξωτερικός signer επέστρεψε ένα payload που είναι ασυνήθιστο για το αίτημα. Ενδέχεται να υπάρχει σφάλμα στο Amethyst ή στον signer.</string>
@@ -218,7 +218,6 @@
<string name="relays"> Plusendiloj</string>
<string name="website">Retejo</string>
<string name="lightning_address">Lightning-Adreso</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopii la Nsec ID (vian pasvorton) al la tondujo por sekurkopio</string>
<string name="send_a_direct_message">Sendi rektan mesaĝon</string>
<string name="edits_the_user_s_metadata">Redakti metadatumojn de uzanto</string>
<string name="unblock">Malbloki</string>
@@ -273,9 +272,6 @@
<string name="mark_all_known_as_read">Marki ĉiujn Konatajn legitaj</string>
<string name="mark_all_new_as_read">Marki ĉiujn Novajn legitaj</string>
<string name="mark_all_as_read">Marki ĉiujn legitajn</string>
<string name="account_backup_tips2_md">## Konsiletoj pri Ŝlosila Sekurkopiao kaj Sekureco \n\nVia konto estas sekurigita per sekreta ŝlosilo. La ŝlosilo estas longa sinsekvo de signoj komencanta per **nsec1**. Ĉiu kiu havas aliron al ĉi tiu sekreta ŝlosilo povas afiŝi kaj ŝanĝi vian identecon. \n\n- **Ne** metu vian sekretan ŝlosilon en ajnan retejon aŭ programaron, kiun vi ne fidas. \n- Amethyst-programistoj **neniam** petos vian sekretan ŝlosilon. \n- **Faru** sekuran sekurkopion de via sekreta ŝlosilo por reakiro de konto. Ni rekomendas uzi pasvortan administrilon.</string>
<string name="account_backup_tips3_md">Por plia sekureco, vi povas ĉifri vian ŝlosilon per pasvorto. Ĉi tiu ŝlosilo komenciĝas per **ncryptsec1** kaj ne povas esti uzata sen via pasvorto. \n\nSe vi perdas vian pasvorton, vi ne povos reakiri vian ŝlosilon.</string>
<string name="encrypt_and_copy_my_secret_key">Ĉifri kaj kopii mian seketan ŝlosilon</string>
<string name="badge_award_image_for">Ŝildeto-premia bildo por %1$s</string>
<string name="badge_award_image">"Insigna premibildeto</string>
<string name="new_badge_award_notif">Vi ricevis novan ŝildeto-premion</string>
@@ -2014,7 +2010,6 @@
<string name="copied_note_text_to_clipboard">Kopiita tekston de noto al tondujo</string>
<string name="copied_to_clipboard">Kopiita al poŝujo</string>
<string name="copied_user_id_to_clipboard">Kopiita @npub de aŭtoro al tondujo</string>
<string name="copy_my_secret_key">Kopii mian sekretan ŝlosilon</string>
<string name="copy_to_clipboard">Kopii al poŝujo</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Ne eblis kunmeti LNUrl el Lightning-Adreso "%1$s". Kontrolu la agordon de la uzanto</string>
<string name="could_not_check_downloaded_file">Ne eblis kontroli la elŝutitan dosieron post alŝuto: %1$s</string>
@@ -2813,10 +2808,8 @@
<string name="share_hls_video">HLS Alŝuto</string>
<string name="share_or_save">Kunhavigi aŭ Konservi</string>
<string name="shorts">Mallongaj videoj</string>
<string name="show_encrypted_private_key_qr_code">Montri ĉifritan privatan ŝlosilon QR-kode</string>
<string name="show_messages_in_notifications_setting_description">Inkluzivi rektajn kaj grupajn mesaĝojn en la Sciiga langeto. Malŝaltu por konservi mesaĝojn nur en la Mesaĝa langeto.</string>
<string name="show_messages_in_notifications_setting_title">Montri Mesaĝojn</string>
<string name="show_private_key_qr_code">Montri privatan ŝlosilon QR-kode</string>
<string name="sign_request_rejected2">Subskrib-peto rifuzita</string>
<string name="sign_request_rejected_description">Certigu ke la subskribista aplikaĵo aŭtoris ĉi tiun transakcion</string>
<string name="signer_illegal_state_exception_description">La ekstera subskribanto resendis utilan ŝarĝon kiu estas stranga por la peto. Povas ekzisti eraro en Amethyst aŭ en la Subskribanto.</string>
@@ -204,7 +204,6 @@
<string name="relays"> Plusendiloj</string>
<string name="website">Retejo</string>
<string name="lightning_address">Lightning-Adreso</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopii la Nsec ID (vian pasvorton) al la tondujo por sekurkopio</string>
<string name="send_a_direct_message">Sendi rektan mesaĝon</string>
<string name="edits_the_user_s_metadata">Redakti metadatumojn de uzanto</string>
<string name="unblock">Malbloki</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">Marki ĉiujn Konatajn legitaj</string>
<string name="mark_all_new_as_read">Marki ĉiujn Novajn legitaj</string>
<string name="mark_all_as_read">Marki ĉiujn legitajn</string>
<string name="account_backup_tips2_md">## Konsiletoj pri Ŝlosila Sekurkopiao kaj Sekureco \n\nVia konto estas sekurigita per sekreta ŝlosilo. La ŝlosilo estas longa sinsekvo de signoj komencanta per **nsec1**. Ĉiu kiu havas aliron al ĉi tiu sekreta ŝlosilo povas afiŝi kaj ŝanĝi vian identecon. \n\n- **Ne** metu vian sekretan ŝlosilon en ajnan retejon aŭ programaron, kiun vi ne fidas. \n- Amethyst-programistoj **neniam** petos vian sekretan ŝlosilon. \n- **Faru** sekuran sekurkopion de via sekreta ŝlosilo por reakiro de konto. Ni rekomendas uzi pasvortan administrilon.</string>
<string name="account_backup_tips3_md">Por plia sekureco, vi povas ĉifri vian ŝlosilon per pasvorto. Ĉi tiu ŝlosilo komenciĝas per **ncryptsec1** kaj ne povas esti uzata sen via pasvorto. \n\nSe vi perdas vian pasvorton, vi ne povos reakiri vian ŝlosilon.</string>
<string name="encrypt_and_copy_my_secret_key">Ĉifri kaj kopii mian seketan ŝlosilon</string>
<string name="badge_award_image_for">Ŝildeto-premia bildo por %1$s</string>
<string name="badge_award_image">"Insigna premibildeto</string>
<string name="new_badge_award_notif">Vi ricevis novan ŝildeto-premion</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Kopiita tekston de noto al tondujo</string>
<string name="copied_to_clipboard">Kopiita al poŝujo</string>
<string name="copied_user_id_to_clipboard">Kopiita @npub de aŭtoro al tondujo</string>
<string name="copy_my_secret_key">Kopii mian sekretan ŝlosilon</string>
<string name="copy_to_clipboard">Kopii al poŝujo</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Ne eblis kunmeti LNUrl el Lightning-Adreso "%1$s". Kontrolu la agordon de la uzanto</string>
<string name="could_not_check_downloaded_file">Ne eblis kontroli la elŝutitan dosieron post alŝuto: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">HLS Alŝuto</string>
<string name="share_or_save">Kunhavigi aŭ Konservi</string>
<string name="shorts">Mallongaj videoj</string>
<string name="show_encrypted_private_key_qr_code">Montri ĉifritan privatan ŝlosilon QR-kode</string>
<string name="show_messages_in_notifications_setting_description">Inkluzivi rektajn kaj grupajn mesaĝojn en la Sciiga langeto. Malŝaltu por konservi mesaĝojn nur en la Mesaĝa langeto.</string>
<string name="show_messages_in_notifications_setting_title">Montri Mesaĝojn</string>
<string name="show_private_key_qr_code">Montri privatan ŝlosilon QR-kode</string>
<string name="sign_request_rejected2">Subskrib-peto rifuzita</string>
<string name="sign_request_rejected_description">Certigu ke la subskribista aplikaĵo aŭtoris ĉi tiun transakcion</string>
<string name="signer_illegal_state_exception_description">La ekstera subskribanto resendis utilan ŝarĝon kiu estas stranga por la peto. Povas ekzisti eraro en Amethyst aŭ en la Subskribanto.</string>
@@ -217,7 +217,6 @@
<string name="relays"> Retransmisores</string>
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="unblock">Desbloquear</string>
@@ -272,9 +271,6 @@
<string name="mark_all_known_as_read">Marcar los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
<string name="account_backup_tips2_md">## Consejos sobre la protección y la copia de seguridad de las claves \n\nTu cuenta está protegida por una clave secreta. La clave es una larga secuencia de caracteres que empieza por **nsec1**. Cualquiera que tenga acceso a esta clave secreta puede publicar y cambiar tu identidad. \n\n- **No** guardes la clave secreta en ningún sitio web o software en los que no confíes. \n- Los desarrolladores de Amethyst **nunca** te pedirán la clave secreta. \n- **Sí** puedes realizar una copia de seguridad de la clave secreta para recuperar la cuenta. Para ello, te recomendamos usar un gestor de contraseñas.</string>
<string name="account_backup_tips3_md">Para mayor seguridad, puedes cifrar la clave con una contraseña. Esta clave empieza por **ncryptsec1** y no puede utilizarse sin tu contraseña. \n\nSi pierdes la contraseña, no podrás recuperar tu clave.</string>
<string name="encrypt_and_copy_my_secret_key">Cifrar y copiar mi clave secreta</string>
<string name="badge_award_image_for">Imagen del Badge para %1$s</string>
<string name="badge_award_image">"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Has recibido un nuevo Badge</string>
@@ -2011,7 +2007,6 @@
<string name="copied_note_text_to_clipboard">Texto de nota copiado al portapapeles</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard">@npub del autor copiado al portapapeles</string>
<string name="copy_my_secret_key">Copiar mi clave secreta</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning "%1$s". Comprueba la configuración del usuario.</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de cargar: %1$s</string>
@@ -2826,10 +2821,8 @@
<string name="share_hls_video">Subida HLS</string>
<string name="share_or_save">Compartir o guardar</string>
<string name="shorts">Cortos</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="show_messages_in_notifications_setting_description">Incluye mensajes directos y de grupo en la pestaña de Notificaciones. Desactívalo para mantener los mensajes solo en la pestaña de Mensajes.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensajes</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
@@ -217,7 +217,6 @@
<string name="relays"> Relés</string>
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección de Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="unblock">Desbloquear</string>
@@ -272,9 +271,6 @@
<string name="mark_all_known_as_read">Marcar todos los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar todos los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
<string name="account_backup_tips2_md">## Consejos sobre la protección y la copia de seguridad de las claves \n\nTu cuenta está protegida por una clave secreta. La clave es una larga secuencia de caracteres que empieza por **nsec1**. Cualquiera que tenga acceso a esta clave secreta puede publicar y cambiar tu identidad. \n\n- **No** guardes la clave secreta en ningún sitio web o software en los que no confíes. \n- Los desarrolladores de Amethyst **nunca** te pedirán la clave secreta. \n- **Sí** puedes realizar una copia de seguridad de la clave secreta para recuperar la cuenta. Para ello, te recomendamos usar un gestor de contraseñas.</string>
<string name="account_backup_tips3_md">Para mayor seguridad, puedes cifrar la clave con una contraseña. Esta clave empieza por **ncryptsec1** y no puede utilizarse sin tu contraseña. \n\nSi pierdes la contraseña, no podrás recuperar tu clave.</string>
<string name="encrypt_and_copy_my_secret_key">Cifrar y copiar mi clave secreta</string>
<string name="badge_award_image_for">Imagen de premio de insignia por %1$s</string>
<string name="badge_award_image">"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Recibiste un nuevo premio de insignia</string>
@@ -2010,7 +2006,6 @@
<string name="copied_note_text_to_clipboard">Texto de la nota copiado al portapapeles</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard">@npub del autor copiado al portapapeles</string>
<string name="copy_my_secret_key">Copiar mi clave secreta</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning "%1$s". Comprueba la configuración del usuario.</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de subir: %1$s</string>
@@ -2819,10 +2814,8 @@
<string name="share_hls_video">Subida HLS</string>
<string name="share_or_save">Compartir o guardar</string>
<string name="shorts">Cortos</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="show_messages_in_notifications_setting_description">Incluye mensajes directos y de grupo en la pestaña de Notificaciones. Desactívalo para mantener los mensajes solo en la pestaña de Mensajes.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensajes</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
@@ -217,7 +217,6 @@
<string name="relays"> Relés</string>
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección de Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="unblock">Desbloquear</string>
@@ -272,9 +271,6 @@
<string name="mark_all_known_as_read">Marcar todos los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar todos los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
<string name="account_backup_tips2_md">## Consejos sobre la protección y la copia de seguridad de las claves \n\nTu cuenta está protegida por una clave secreta. La clave es una larga secuencia de caracteres que empieza por **nsec1**. Cualquiera que tenga acceso a esta clave secreta puede publicar y cambiar tu identidad. \n\n- **No** guardes la clave secreta en ningún sitio web o software en los que no confíes. \n- Los desarrolladores de Amethyst **nunca** te pedirán la clave secreta. \n- **Sí** puedes realizar una copia de seguridad de la clave secreta para recuperar la cuenta. Para ello, te recomendamos usar un gestor de contraseñas.</string>
<string name="account_backup_tips3_md">Para mayor seguridad, puedes cifrar la clave con una contraseña. Esta clave empieza por **ncryptsec1** y no puede utilizarse sin tu contraseña. \n\nSi pierdes la contraseña, no podrás recuperar tu clave.</string>
<string name="encrypt_and_copy_my_secret_key">Cifrar y copiar mi clave secreta</string>
<string name="badge_award_image_for">Imagen de premio de insignia por %1$s</string>
<string name="badge_award_image">"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Recibiste un nuevo premio de insignia</string>
@@ -2010,7 +2006,6 @@
<string name="copied_note_text_to_clipboard">Texto de la nota copiado al portapapeles</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard">@npub del autor copiado al portapapeles</string>
<string name="copy_my_secret_key">Copiar mi clave secreta</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning "%1$s". Comprueba la configuración del usuario.</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de subir: %1$s</string>
@@ -2819,10 +2814,8 @@
<string name="share_hls_video">Subida HLS</string>
<string name="share_or_save">Compartir o guardar</string>
<string name="shorts">Cortos</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="show_messages_in_notifications_setting_description">Incluye mensajes directos y de grupo en la pestaña de Notificaciones. Desactívalo para mantener los mensajes solo en la pestaña de Mensajes.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensajes</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
@@ -204,7 +204,6 @@
<string name="relays"> Retransmisores</string>
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia la ID de Nsec (su contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="unblock">Desbloquear</string>
@@ -259,7 +258,6 @@
<string name="mark_all_known_as_read">Marcar los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
<string name="encrypt_and_copy_my_secret_key">Cifrar y copiar mi clave secreta</string>
<string name="badge_award_image_for">Imagen del Badge para %1$s</string>
<string name="badge_award_image">"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Has recibido un nuevo Badge</string>
@@ -1800,8 +1798,6 @@
<string name="ots_explorer_api_label">URL base de la API del explorador</string>
<string name="dvm_pay_invoice_from_dvm">Pagar factura del DVM</string>
<string name="dvm_pay_amount_to_dvm">Pagar %1$s sats al DVM</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips2_md" ns0:ignore="Typos">## Consejos sobre la protección y la copia de seguridad de las claves \n\nTu cuenta está protegida por una clave secreta. La clave es una larga secuencia de caracteres que empieza por **nsec1**. Cualquiera que tenga acceso a esta clave secreta puede publicar y cambiar tu identidad. \n\n- **No** guardes la clave secreta en ningún sitio web o software en los que no confíes. \n- Los desarrolladores de Amethyst **nunca** te pedirán la clave secreta. \n- **Sí** puedes realizar una copia de seguridad de la clave secreta para recuperar la cuenta. Para ello, te recomendamos usar un gestor de contraseñas.</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips3_md" ns0:ignore="Typos">Para mayor seguridad, puedes cifrar la clave con una contraseña. Esta clave empieza por **ncryptsec1** y no puede utilizarse sin tu contraseña. \n\nSi pierdes la contraseña, no podrás recuperar tu clave.</string>
<string name="use_direct_url">Usar URL directa</string>
<string name="nsite_title">nSite: %1$s</string>
<string name="napplet_card_title">nApplet: %1$s</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Texto de nota copiado al portapapeles</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard">@npub del autor copiado al portapapeles</string>
<string name="copy_my_secret_key">Copiar mi clave secreta</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning "%1$s". Comprueba la configuración del usuario.</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de cargar: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">Subida HLS</string>
<string name="share_or_save">Compartir o guardar</string>
<string name="shorts">Cortos</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="show_messages_in_notifications_setting_description">Incluye mensajes directos y de grupo en la pestaña de Notificaciones. Desactívalo para mantener los mensajes solo en la pestaña de Mensajes.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensajes</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
@@ -219,7 +219,6 @@
<string name="relays">رله ها</string>
<string name="website">وبسایت</string>
<string name="lightning_address">آدرس لایتنینگ</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">شناسه کلید خصوصی (پسوردتان) را در کلیپبورد کپی می کند(</string>
<string name="send_a_direct_message">ارسال پیام مستقیم</string>
<string name="edits_the_user_s_metadata">متادیتای کاربر را ویرایش می کند</string>
<string name="unblock">از بلاک درآوردن</string>
@@ -274,9 +273,6 @@
<string name="mark_all_known_as_read">همه شناس ها خوانده شده کن</string>
<string name="mark_all_new_as_read">همه جدیدها را خوانده شده کن</string>
<string name="mark_all_as_read">همه را خوانده شده کن</string>
<string name="account_backup_tips2_md">نکات ایمنی و ذخیره کلید حساب کاربری شما با یک کلید خصوصی محافظت می شود. این کلید دنباله ای بلند از کاراکترها است که با **nsec1** آغاز می گردد. هر کس به این کلید خصوصی دسترسی داشته باشد می تواند بجای شما یادداشت پست کرده یا هویت شما را تغییر دهد. هرگز کلید خصوصی خود را در هیچ وبسایت با نرم افزاری که به آن اطمینان ندارید **وارد نکنید**. سازندگان امتیست **هرگز** کلیدتان را از شما نمی خواهند. یک پشتیبان یدکی مخفی از کلید خود به منظور بازیابی **نگه دارید**. ما استفاده از نرم افزار مدیریت پسورد را توصیه می کنیم.</string>
<string name="account_backup_tips3_md">برای ایمنی بیشتر، می توانید کلید خود را با یک رمزعبور رمزنگاری کنید. این نوع کلید با **ncryptsec1** آغاز می شود و نمی تواند بدون رمز عبور شما استفاده شود. اگر پسوردتان را گم کنید، نخواهید توانست کلیدتان را بازیابی کنید.</string>
<string name="encrypt_and_copy_my_secret_key">رمزنگاری و کپی کلید من</string>
<string name="badge_award_image_for">تصویر مدال پاداش برای %1$s</string>
<string name="badge_award_image">تصویر جایزه نشان</string>
<string name="new_badge_award_notif">یک مدال پاداش دریافت کردید</string>
@@ -2015,7 +2011,6 @@
<string name="copied_note_text_to_clipboard">یادداشت در کلیپبورد کپی شد</string>
<string name="copied_to_clipboard">در کلیپ‌بورد کپی شد</string>
<string name="copied_user_id_to_clipboard">@npubنویسنده در کلیپبورد کپی شد</string>
<string name="copy_my_secret_key">کلید خصوصیم را کپی کن</string>
<string name="copy_to_clipboard">کپی به کلیپ‌بورد</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">LNUrl از آدرس لایتنینگ "%1$s" بدست نیامد. تنظیمات کاربر را بررسی کنید.</string>
<string name="could_not_check_downloaded_file">فایل بارگیری شده پس از بارگذاری بررسی نشد: %1$s</string>
@@ -2820,10 +2815,8 @@
<string name="share_hls_video">آپلود HLS</string>
<string name="share_or_save">اشتراک گذاری یا ذخیره‌سازی</string>
<string name="shorts">ویدیوهای کوتاه</string>
<string name="show_encrypted_private_key_qr_code">نمایش کد QR کلید خصوصی رمزنگاری شده</string>
<string name="show_messages_in_notifications_setting_description">پیام‌های مستقیم و گروهی را در تب اعلان‌ها نمایش دهید. غیرفعال کنید تا پیام‌ها فقط در تب پیام‌ها باشند.</string>
<string name="show_messages_in_notifications_setting_title">نمایش پیام‌ها</string>
<string name="show_private_key_qr_code">نمایش کد QR کلید خصوصی</string>
<string name="sign_request_rejected2">درخواست امضا رد شد</string>
<string name="sign_request_rejected_description">مطمئن شوید که اپ امضا کننده این تراکنش را تایید کرده است</string>
<string name="signer_illegal_state_exception_description">signer خارجی یک پاسخ عجیب برای درخواست بازگرداند. ممکن است باگی در Amethyst یا در signer وجود داشته باشد.</string>
@@ -204,7 +204,6 @@
<string name="relays">رله ها</string>
<string name="website">وبسایت</string>
<string name="lightning_address">آدرس لایتنینگ</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">شناسه کلید خصوصی (پسوردتان) را در کلیپبورد کپی می کند(</string>
<string name="send_a_direct_message">ارسال پیام مستقیم</string>
<string name="edits_the_user_s_metadata">متادیتای کاربر را ویرایش می کند</string>
<string name="unblock">از بلاک درآوردن</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">همه شناس ها خوانده شده کن</string>
<string name="mark_all_new_as_read">همه جدیدها را خوانده شده کن</string>
<string name="mark_all_as_read">همه را خوانده شده کن</string>
<string name="account_backup_tips2_md">نکات ایمنی و ذخیره کلید حساب کاربری شما با یک کلید خصوصی محافظت می شود. این کلید دنباله ای بلند از کاراکترها است که با **nsec1** آغاز می گردد. هر کس به این کلید خصوصی دسترسی داشته باشد می تواند بجای شما یادداشت پست کرده یا هویت شما را تغییر دهد. هرگز کلید خصوصی خود را در هیچ وبسایت با نرم افزاری که به آن اطمینان ندارید **وارد نکنید**. سازندگان امتیست **هرگز** کلیدتان را از شما نمی خواهند. یک پشتیبان یدکی مخفی از کلید خود به منظور بازیابی **نگه دارید**. ما استفاده از نرم افزار مدیریت پسورد را توصیه می کنیم.</string>
<string name="account_backup_tips3_md">برای ایمنی بیشتر، می توانید کلید خود را با یک رمزعبور رمزنگاری کنید. این نوع کلید با **ncryptsec1** آغاز می شود و نمی تواند بدون رمز عبور شما استفاده شود. اگر پسوردتان را گم کنید، نخواهید توانست کلیدتان را بازیابی کنید.</string>
<string name="encrypt_and_copy_my_secret_key">رمزنگاری و کپی کلید من</string>
<string name="badge_award_image_for">تصویر مدال پاداش برای %1$s</string>
<string name="badge_award_image">تصویر جایزه نشان</string>
<string name="new_badge_award_notif">یک مدال پاداش دریافت کردید</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">یادداشت در کلیپبورد کپی شد</string>
<string name="copied_to_clipboard">در کلیپ‌بورد کپی شد</string>
<string name="copied_user_id_to_clipboard">@npubنویسنده در کلیپبورد کپی شد</string>
<string name="copy_my_secret_key">کلید خصوصیم را کپی کن</string>
<string name="copy_to_clipboard">کپی به کلیپ‌بورد</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">LNUrl از آدرس لایتنینگ "%1$s" بدست نیامد. تنظیمات کاربر را بررسی کنید.</string>
<string name="could_not_check_downloaded_file">فایل بارگیری شده پس از بارگذاری بررسی نشد: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">آپلود HLS</string>
<string name="share_or_save">اشتراک گذاری یا ذخیره‌سازی</string>
<string name="shorts">ویدیوهای کوتاه</string>
<string name="show_encrypted_private_key_qr_code">نمایش کد QR کلید خصوصی رمزنگاری شده</string>
<string name="show_messages_in_notifications_setting_description">پیام‌های مستقیم و گروهی را در تب اعلان‌ها نمایش دهید. غیرفعال کنید تا پیام‌ها فقط در تب پیام‌ها باشند.</string>
<string name="show_messages_in_notifications_setting_title">نمایش پیام‌ها</string>
<string name="show_private_key_qr_code">نمایش کد QR کلید خصوصی</string>
<string name="sign_request_rejected2">درخواست امضا رد شد</string>
<string name="sign_request_rejected_description">مطمئن شوید که اپ امضا کننده این تراکنش را تایید کرده است</string>
<string name="signer_illegal_state_exception_description">signer خارجی یک پاسخ عجیب برای درخواست بازگرداند. ممکن است باگی در Amethyst یا در signer وجود داشته باشد.</string>
@@ -213,7 +213,6 @@
<string name="relays"> Releet</string>
<string name="website">Verkkosivusto</string>
<string name="lightning_address">Lightning-osoite</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopioi Nsec-tunniste (salasanasi) leikepöydälle varmuuskopiointia varten</string>
<string name="send_a_direct_message">Lähetä suora viesti</string>
<string name="edits_the_user_s_metadata">Muokkaa käyttäjän metatietoja</string>
<string name="unblock">Poista esto</string>
@@ -268,9 +267,6 @@
<string name="mark_all_known_as_read">Merkitse kaikki Tunnetut luetuiksi</string>
<string name="mark_all_new_as_read">Merkitse kaikki Uudet luetuiksi</string>
<string name="mark_all_as_read">Merkitse kaikki luetuiksi</string>
<string name="account_backup_tips2_md">## Avainten varmuuskopiointi ja turvallisuusvinkit \n\nTilisi on suojattu salaisella avaimella. Avain on pitkä merkkijono, joka alkaa **nsec1**:llä. Kuka tahansa, jolla on pääsy tähän salaiseen avaimeen, voi julkaista ja muuttaa henkilöllisyyttäsi. \n\n- **Älä** anna salaista avaintasi mihinkään verkkosivustoon tai ohjelmistoon, johon et luota. \n- Amethystin kehittäjät eivät **koskaan** pyydä salaista avaintasi. \n- **Tee** turvallinen varmuuskopio salaisesta avaimestasi tilin palauttamista varten. Suosittelemme salasananhallintaohjelman käyttöä.</string>
<string name="account_backup_tips3_md">Lisäturvallisuuden vuoksi voit salata avaimesi salasanalla. Tämä avain alkaa **ncryptsec1**:llä eikä sitä voi käyttää ilman salasanaasi. \n\nJos kadotat salasanasi, et pysty palauttamaan avaintasi.</string>
<string name="encrypt_and_copy_my_secret_key">Salaa ja kopioi salainen avaimeni</string>
<string name="badge_award_image_for">Merkki kohteelle %1$s</string>
<string name="badge_award_image">"Merkkipalkinnon kuva</string>
<string name="new_badge_award_notif">Olet saanut uuden merkin</string>
@@ -1995,7 +1991,6 @@
<string name="copied_note_text_to_clipboard">Viestin teksti kopioitu leikepöydälle</string>
<string name="copied_to_clipboard">Kopioitu leikepöydälle</string>
<string name="copied_user_id_to_clipboard">Käyttäjän @npub kopioitu leikepöydälle</string>
<string name="copy_my_secret_key">Kopioi salainen avain</string>
<string name="copy_to_clipboard">Kopioi leikepöydälle</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Ei voitu koota LNUrlia Lightning-osoitteesta "%1$s". Tarkista käyttäjän asetukset</string>
<string name="could_not_check_downloaded_file">Ladatun tiedoston tarkistus epäonnistui latauksen jälkeen: %1$s</string>
@@ -2790,10 +2785,8 @@
<string name="share_hls_video">HLS-lataus</string>
<string name="share_or_save">Jaa tai tallenna</string>
<string name="shorts">Lyhytvideot</string>
<string name="show_encrypted_private_key_qr_code">Näytä salatun yksityisen avaimen QR-koodi</string>
<string name="show_messages_in_notifications_setting_description">Sisällytä suorat viestit ja ryhmäviestit Ilmoitukset-välilehdelle. Poista käytöstä, jos haluat pitää viestit vain Viestit-välilehdellä.</string>
<string name="show_messages_in_notifications_setting_title">Näytä viestit</string>
<string name="show_private_key_qr_code">Näytä yksityisen avaimen QR-koodi</string>
<string name="sign_request_rejected2">Allekirjoituspyyntö hylätty</string>
<string name="sign_request_rejected_description">Varmista, että allekirjoittajasovellus on valtuuttanut tämän tapahtuman</string>
<string name="signer_illegal_state_exception_description">Ulkoinen allekirjoittaja palautti pyyntöön nähden odottamattoman tietopaketin. Kyseessä voi olla vika Amethystissä tai allekirjoittajassa.</string>
@@ -211,7 +211,6 @@
<string name="relays"> Relais</string>
<string name="website">Site Web</string>
<string name="lightning_address">Adresse Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copie l'ID Nsec (votre mot de passe) dans le presse-papiers pour le sauvegarder</string>
<string name="send_a_direct_message">Envoyer un message direct</string>
<string name="edits_the_user_s_metadata">Modifie les métadonnées de l'utilisateur</string>
<string name="unblock">Débloquer</string>
@@ -266,9 +265,6 @@
<string name="mark_all_known_as_read">Marquer tous les Connus comme lu</string>
<string name="mark_all_new_as_read">Marquer tous les Nouveaux comme lu</string>
<string name="mark_all_as_read">Tout marquer comme lu</string>
<string name="account_backup_tips2_md">## Sauvegarde des Clés et Conseils de Sécurité \n\nVotre compte est sécurisé par une clé secrète. La clé est une longue séquence de caractères commençant par **nsec1**. Toute personne ayant accès à cette clé secrète peut publier et modifier votre identité. \n\n- Ne mettez **pas** votre clé secrète sur un site web ou un logiciel auquel vous ne faites pas confiance. \n- Les développeurs d'Amethyst ne vous demanderont **jamais** votre clé secrète. \n- **Faites** une sauvegarde sécurisée de votre clé secrète pour la récupération de votre compte. Nous vous recommandons d'utiliser un gestionnaire de mots de passe.</string>
<string name="account_backup_tips3_md">Pour plus de sécurité, vous pouvez chiffrer votre clé avec un mot de passe. Cette clé commence par **ncryptsec1** et ne peut être utilisée sans votre mot de passe. \n\nSi vous perdez votre mot de passe, vous ne pourrez pas récupérer votre clé.</string>
<string name="encrypt_and_copy_my_secret_key">Chiffrer et copier ma clé secrète</string>
<string name="badge_award_image_for">Image de badge pour %1$s</string>
<string name="badge_award_image">Image du badge de récompense</string>
<string name="new_badge_award_notif">Vous avez reçu un nouveau Badge</string>
@@ -1949,7 +1945,6 @@
<string name="copied_note_text_to_clipboard">Copie du contenu de la note dans le presse-papiers</string>
<string name="copied_to_clipboard">Copié dans le presse-papiers</string>
<string name="copied_user_id_to_clipboard">Copie du @npub utilisateur dans le presse-papiers</string>
<string name="copy_my_secret_key">Copier ma clé secrète</string>
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Impossible d'assembler LNUrl à partir de l'adresse Lightning "%1$s". Vérifiez la configuration de l'utilisateur</string>
<string name="could_not_check_downloaded_file">Impossible de vérifier le fichier téléchargé après le téléversement : %1$s</string>
@@ -2717,10 +2712,8 @@
<string name="share_as_image_url">Partager en tant qu'URL de l'image</string>
<string name="share_hls_video">Mise en ligne HLS</string>
<string name="share_or_save">Partager ou Enregistrer</string>
<string name="show_encrypted_private_key_qr_code">Afficher le QR code de la clé privée chiffrée</string>
<string name="show_messages_in_notifications_setting_description">Inclure les messages directs et de groupe dans l'onglet Notifications. Désactivez pour conserver les messages uniquement dans l'onglet Messages.</string>
<string name="show_messages_in_notifications_setting_title">Voir les messages</string>
<string name="show_private_key_qr_code">Afficher le QR code de la clé privée</string>
<string name="sign_request_rejected2">Requête de signature rejetée</string>
<string name="sign_request_rejected_description">Assurez-vous que l'application signataire a autorisé cette transaction</string>
<string name="signer_illegal_state_exception_description">Le signataire externe a renvoyé des données qui sont étranges pour la requête. Il peut y avoir un bug sur Amethyst ou le signataire.</string>
@@ -213,7 +213,6 @@
<string name="relays"> Relais</string>
<string name="website">Site Web</string>
<string name="lightning_address">Adresse Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copie l'ID Nsec (votre mot de passe) dans le presse-papiers pour le sauvegarder</string>
<string name="send_a_direct_message">Envoyer un message direct</string>
<string name="edits_the_user_s_metadata">Modifie les métadonnées de l'utilisateur</string>
<string name="unblock">Débloquer</string>
@@ -268,9 +267,6 @@
<string name="mark_all_known_as_read">Marquer tous les Connus comme lu</string>
<string name="mark_all_new_as_read">Marquer tous les Nouveaux comme lu</string>
<string name="mark_all_as_read">Tout marquer comme lu</string>
<string name="account_backup_tips2_md">## Sauvegarde des Clés et Conseils de Sécurité \n\nVotre compte est sécurisé par une clé secrète. La clé est une longue séquence de caractères commençant par **nsec1**. Toute personne ayant accès à cette clé secrète peut publier et modifier votre identité. \n\n- Ne mettez **pas** votre clé secrète sur un site web ou un logiciel auquel vous ne faites pas confiance. \n- Les développeurs d'Amethyst ne vous demanderont **jamais** votre clé secrète. \n- **Faites** une sauvegarde sécurisée de votre clé secrète pour la récupération de votre compte. Nous vous recommandons d'utiliser un gestionnaire de mots de passe.</string>
<string name="account_backup_tips3_md">Pour plus de sécurité, vous pouvez chiffrer votre clé avec un mot de passe. Cette clé commence par **ncryptsec1** et ne peut être utilisée sans votre mot de passe. \n\nSi vous perdez votre mot de passe, vous ne pourrez pas récupérer votre clé.</string>
<string name="encrypt_and_copy_my_secret_key">Chiffrer et copier ma clé secrète</string>
<string name="badge_award_image_for">Image de badge pour %1$s</string>
<string name="badge_award_image">Image du badge de récompense</string>
<string name="new_badge_award_notif">Vous avez reçu un nouveau Badge</string>
@@ -2138,7 +2134,6 @@
<string name="copied_note_text_to_clipboard">Copie du contenu de la note dans le presse-papiers</string>
<string name="copied_to_clipboard">Copié dans le presse-papiers</string>
<string name="copied_user_id_to_clipboard">Copie du @npub utilisateur dans le presse-papiers</string>
<string name="copy_my_secret_key">Copier ma clé secrète</string>
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Impossible d'assembler LNUrl à partir de l'adresse Lightning "%1$s". Vérifiez la configuration de l'utilisateur</string>
<string name="could_not_check_downloaded_file">Impossible de vérifier le fichier téléchargé après le téléversement : %1$s</string>
@@ -3003,10 +2998,8 @@
<string name="share_hls_video">Mise en ligne HLS</string>
<string name="share_or_save">Partager ou Enregistrer</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Afficher le QR code de la clé privée chiffrée</string>
<string name="show_messages_in_notifications_setting_description">Inclure les messages directs et de groupe dans l'onglet Notifications. Désactivez pour conserver les messages uniquement dans l'onglet Messages.</string>
<string name="show_messages_in_notifications_setting_title">Voir les messages</string>
<string name="show_private_key_qr_code">Afficher le QR code de la clé privée</string>
<string name="sign_request_rejected2">Requête de signature rejetée</string>
<string name="sign_request_rejected_description">Assurez-vous que l'application signataire a autorisé cette transaction</string>
<string name="signer_illegal_state_exception_description">Le signataire externe a renvoyé des données qui sont étranges pour la requête. Il peut y avoir un bug sur Amethyst ou le signataire.</string>
@@ -204,7 +204,6 @@
<string name="relays"> Relais</string>
<string name="website">Site Web</string>
<string name="lightning_address">Adresse Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copie l'ID Nsec (votre mot de passe) dans le presse-papiers pour le sauvegarder</string>
<string name="send_a_direct_message">Envoyer un message direct</string>
<string name="edits_the_user_s_metadata">Modifie les métadonnées de l'utilisateur</string>
<string name="unblock">Débloquer</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">Marquer tous les Connus comme lu</string>
<string name="mark_all_new_as_read">Marquer tous les Nouveaux comme lu</string>
<string name="mark_all_as_read">Tout marquer comme lu</string>
<string name="account_backup_tips2_md">## Sauvegarde des Clés et Conseils de Sécurité \n\nVotre compte est sécurisé par une clé secrète. La clé est une longue séquence de caractères commençant par **nsec1**. Toute personne ayant accès à cette clé secrète peut publier et modifier votre identité. \n\n- Ne mettez **pas** votre clé secrète sur un site web ou un logiciel auquel vous ne faites pas confiance. \n- Les développeurs d'Amethyst ne vous demanderont **jamais** votre clé secrète. \n- **Faites** une sauvegarde sécurisée de votre clé secrète pour la récupération de votre compte. Nous vous recommandons d'utiliser un gestionnaire de mots de passe.</string>
<string name="account_backup_tips3_md">Pour plus de sécurité, vous pouvez chiffrer votre clé avec un mot de passe. Cette clé commence par **ncryptsec1** et ne peut être utilisée sans votre mot de passe. \n\nSi vous perdez votre mot de passe, vous ne pourrez pas récupérer votre clé.</string>
<string name="encrypt_and_copy_my_secret_key">Chiffrer et copier ma clé secrète</string>
<string name="badge_award_image_for">Image de badge pour %1$s</string>
<string name="badge_award_image">Image du badge de récompense</string>
<string name="new_badge_award_notif">Vous avez reçu un nouveau Badge</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Copie du contenu de la note dans le presse-papiers</string>
<string name="copied_to_clipboard">Copié dans le presse-papiers</string>
<string name="copied_user_id_to_clipboard">Copie du @npub utilisateur dans le presse-papiers</string>
<string name="copy_my_secret_key">Copier ma clé secrète</string>
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Impossible d'assembler LNUrl à partir de l'adresse Lightning "%1$s". Vérifiez la configuration de l'utilisateur</string>
<string name="could_not_check_downloaded_file">Impossible de vérifier le fichier téléchargé après le téléversement : %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">Mise en ligne HLS</string>
<string name="share_or_save">Partager ou Enregistrer</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Afficher le QR code de la clé privée chiffrée</string>
<string name="show_messages_in_notifications_setting_description">Inclure les messages directs et de groupe dans l'onglet Notifications. Désactivez pour conserver les messages uniquement dans l'onglet Messages.</string>
<string name="show_messages_in_notifications_setting_title">Voir les messages</string>
<string name="show_private_key_qr_code">Afficher le QR code de la clé privée</string>
<string name="sign_request_rejected2">Requête de signature rejetée</string>
<string name="sign_request_rejected_description">Assurez-vous que l'application signataire a autorisé cette transaction</string>
<string name="signer_illegal_state_exception_description">Le signataire externe a renvoyé des données qui sont étranges pour la requête. Il peut y avoir un bug sur Amethyst ou le signataire.</string>
@@ -545,7 +545,6 @@
<string name="relays"> पुनःप्रसारक</string>
<string name="website">जालस्थान</string>
<string name="lightning_address">लैटनिंग पता</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">एनसेक॰ सूचक (आपका गुप्त पारणशब्द) की अनुकृति करता है टाँकाफलक में सुरक्षित रखने के लिए</string>
<string name="send_a_direct_message">सीधा संदेश भेजें</string>
<string name="edits_the_user_s_metadata">उपयोगकर्ता के उपतथ्य का सम्पादन करता है</string>
<string name="unblock">बाधा हटाएँ</string>
@@ -654,14 +653,11 @@
<string name="mark_all_known_as_read">सब ज्ञात को पढ लिया चिह्नित करें</string>
<string name="mark_all_new_as_read">सब नये को पढ लिया चिह्नित करें</string>
<string name="mark_all_as_read">सब को पढ लिया चिह्नित करें</string>
<string name="account_backup_tips2_md">## कुंचिका सुरक्षार्थ अनुकृति तथा सुरक्षा सुझाव \n\nआपकी लेखा एक गुप्त कुंचिका से सुरक्षित किया गया है। कुंचिका अक्षरों की एक लम्बी श्रृंखला है जो **nsec1** से आरम्भ होता है। जिस किसी के पास यह कुंचिका है वह पत्र प्रकाशित कर सकेगा तथा आपका परिचय परिवर्तित कर सकेगा। \n\n- आपकी गुप्त कुंचिका किसी भी जालस्थान अथवा क्रमक में **ना** डालें जिसपर आपका विश्वास ना हो। \n- अमेथिस्ट क्रमलेख विकासकर्ता आपकी गुप्त कुंचिका **कभी नहीं** पूछेंगे। \n- आपकी गुप्त कुंचिका की एक सुरक्षित अनुकृति **अवश्य** रखें अपनी लेखा पुनः प्राप्त करने के लिए। पारणशब्ध प्रबंधन क्रमक की पुनः प्रशंसा करते हैं।</string>
<string name="account_backup_tips3_md">अधिक सुरक्षा के लिए आप अपनी कुंचिका का रहस्यीकरण कर सकते हैं एक पारणशब्द के साथ। यह कुंचिका आरम्भ होगी **ncryptsec1** से तथा पारणशब्द के बिना प्रयोग साध्य नहीं। \n\n यदि आप अपना पारणशब्द खो देते हैं, तो आप अपनी कुंचिका को पुनः प्राप्त नहीं कर सकते।</string>
<string name="backup_keys_nudge_title">अपने कुंचिकाओं को सुरक्षित रखें</string>
<string name="backup_keys_nudge_body">आपकी गुप्त कुंचिका एकमात्र विधि है इस लेखा का अभिगमन करने के लिए। यदि आप इसे खो देते हैं तो इसे कभी भी पुनःप्राप्त नहीं कर सकते। इसे कहीं सुरक्षित रखें अभी इस समय।</string>
<string name="backup_keys_nudge_backup_now">अभी इसी समय सुरक्षित अनुकृति बनाएँ</string>
<string name="backup_keys_nudge_already_saved">उनको मैंने सुरक्षित कर लिया</string>
<string name="backup_keys_nudge_dismiss">हटाएँ</string>
<string name="encrypt_and_copy_my_secret_key">मेरी गुप्त कुंचिका का रहस्यीकरण तथा अनुकृति करें</string>
<string name="badge_award_image_for">पदक पुरस्कार चित्र %1$s के लिए</string>
<string name="badge_award_image">"पदक पुरस्कार चित्र</string>
<string name="new_badge_award_notif">आपको नया पदक पुरस्कार प्राप्त हुआ</string>
@@ -3577,7 +3573,6 @@
<string name="copied_note_text_to_clipboard">टीका लेख की अनुकृति की गई टाँकाफलक में</string>
<string name="copied_to_clipboard">टाँकाफलक में अनुकृत</string>
<string name="copied_user_id_to_clipboard">लेखक के @npub की अनुकृति की गई टाँकाफलक में</string>
<string name="copy_my_secret_key">मेरी गुप्त कुंचिका की अनुकृति करें</string>
<string name="copy_to_clipboard">टाँकाफलक में अनुकृति करें</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">लै॰जालपता नहीं बना पाए लै॰पता "%1$s" से। उपयोगकर्ता की स्थापना की जाँच करें</string>
<string name="could_not_check_downloaded_file">आरोहण पश्चात अवरोहित अभिलेख की जाँच नहीं हो सकी : %1$s</string>
@@ -5040,10 +5035,8 @@
<string name="share_hls_video">एचएलएस॰ आरोहण</string>
<string name="share_or_save">बाँटें अथवा अभिलेखन करें</string>
<string name="shorts">लघु चलचित्र</string>
<string name="show_encrypted_private_key_qr_code">रहस्यीकृत निजी कुंचिका क्यूआर॰ चित्र अक्षरराशि दिखाएँ</string>
<string name="show_messages_in_notifications_setting_description">सूचनाएँ पृष्ठ पर सीधे तथा समूह सन्देशों को समाविष्ट करें। निष्क्रिय करें यदि सन्देशों को केवल सन्देश पृष्ठ में रखना चाहते हों तो।</string>
<string name="show_messages_in_notifications_setting_title">सन्देशों को दिखाएँ</string>
<string name="show_private_key_qr_code">निजी कुंचिका क्यूआर॰ चित्र अक्षरराशि दिखाएँ</string>
<string name="sign_request_rejected2">हस्ताक्षर अनुरोध अस्वीकृत</string>
<string name="sign_request_rejected_description">सुनिश्चित करें हस्ताक्षर क्रमक ने इस व्यापार को अनुमति दिया</string>
<string name="signer_illegal_state_exception_description">बाहरी हस्ताक्षरकर्ता द्वारा दिया गया उत्तर विचित्र है अनुरोध के लिए। अमेथिस्ट अथवा हस्ताक्षरकर्ता में कुछ दोष हो सकता है।</string>
@@ -545,7 +545,6 @@
<string name="relays"> Átjátszó</string>
<string name="website">Weboldal</string>
<string name="lightning_address">Lightning-cím</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Az Nsec azonosítót (az Ön „jelszavát”) a vágólapra másolja biztonsági mentés céljából</string>
<string name="send_a_direct_message">Közvetlen üzenet küldése</string>
<string name="edits_the_user_s_metadata">Felhasználó metaadatainak szerkesztése</string>
<string name="unblock">Letiltás megszüntetése</string>
@@ -654,14 +653,11 @@
<string name="mark_all_known_as_read">Az összes ismert megjelölése olvasottként</string>
<string name="mark_all_new_as_read">Az összes új üzenet megjelölése olvasottként</string>
<string name="mark_all_as_read">Összes megjelölése olvasottként</string>
<string name="account_backup_tips2_md">## Kulcs- és biztonsági mentési tippek \n\nFiókját egy titkos kulcs védi. A kulcs egy hosszú véletlenszerű karakterlánc, amely **nsec1**-vel kezdődik. Bárki, aki az Ön titkos kulcsához hozzáfér, az Ön személyazonosságának használatával bármilyen tartalmat közzétehet. \n\n- **Ne** helyezze el a titkos kulcsát olyan webhelyen vagy szoftverben, amelyben nem bízik. \n- Az Amethyst fejlesztői az Ön titkos kulcsát **soha** nem fogják Öntől elkérni. \n- A fiókja helyrehozása érdekében, a titkos kulcsáról **mindig** készítsen biztonsági másolatot. Javasoljuk egy jelszókezelő használatát.</string>
<string name="account_backup_tips3_md">A nagyobb biztonság érdekében titkosítsa egy jelszóval. A jelszóval védett kulcs **ncryptsec1**-vel kezdődik, és a jelszava nélkül nem használható. \n\nHa elveszíti a jelszavát, nem tudja helyrehozni a kulcsát.</string>
<string name="backup_keys_nudge_title">Biztonsági mentés készítése a kulcsokról</string>
<string name="backup_keys_nudge_body">A titkos kulcs megadása az egyetlen módja a fiók elérésének. Ha elveszíti, akkor soha nem tudja helyrehozni. Mentse el biztonságos helyre most.</string>
<string name="backup_keys_nudge_backup_now">Biztonsági mentés most</string>
<string name="backup_keys_nudge_already_saved">Elmentettem a kulcsokat</string>
<string name="backup_keys_nudge_dismiss">Eltüntetés</string>
<string name="encrypt_and_copy_my_secret_key">Saját titkos kulcs titkosítása és másolása</string>
<string name="badge_award_image_for">Kitűző %1$s számára</string>
<string name="badge_award_image">Kitűző képe</string>
<string name="new_badge_award_notif">Ön egy új kitűzőt kapott</string>
@@ -3577,7 +3573,6 @@
<string name="copied_note_text_to_clipboard">Bejegyzés szövege a vágólapra másolva</string>
<string name="copied_to_clipboard">Vágólapra másolva</string>
<string name="copied_user_id_to_clipboard">A szerző @npub-ja a vágólapra másolva</string>
<string name="copy_my_secret_key">Saját titkos kulcs másolása</string>
<string name="copy_to_clipboard">Másolás a vágólapra</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nem sikerült az LN-webcímet a(z) „%1$s” Lightning-címről összeállítani. Ellenőrizze a felhasználó beállításait</string>
<string name="could_not_check_downloaded_file">Nem lehetett ellenőrizni a letöltött fájlt a feltöltés után: %1$s</string>
@@ -5040,10 +5035,8 @@
<string name="share_hls_video">HLS-feltöltés</string>
<string name="share_or_save">Megosztás vagy mentés</string>
<string name="shorts">Rövidek</string>
<string name="show_encrypted_private_key_qr_code">Jelszóval védett privát kulcs megjelenítése QR-kódként</string>
<string name="show_messages_in_notifications_setting_description">Közvetlen és csoportos üzenetek megjelenítése az Értesítések lapon. Kapcsolja ki, ha az üzeneteket csak az Üzenetek lapon szeretné látni.</string>
<string name="show_messages_in_notifications_setting_title">Üzenetek megjelenítése</string>
<string name="show_private_key_qr_code">Privát kulcs megjelenítése QR-kódként</string>
<string name="sign_request_rejected2">Aláírási kérés elutasítva</string>
<string name="sign_request_rejected_description">Győződjön meg arról, hogy ezt a tranzakciót az aláíró-alkalmazás hitelesítette-e</string>
<string name="signer_illegal_state_exception_description">A külső aláíró a kéréstől eltérő, szokatlan választ küldött. Lehet, hogy hiba lépett fel az Amethystben vagy az aláíró alkalmazásban.</string>
@@ -211,7 +211,6 @@
<string name="relays"> Relai</string>
<string name="website">Situs web</string>
<string name="lightning_address">Alamat Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Salin ID Nsec (kata sandi Anda) ke papan klip untuk cadangan</string>
<string name="send_a_direct_message">Kirim Pesan Langsung</string>
<string name="edits_the_user_s_metadata">Ubah metadata pengguna</string>
<string name="unblock">Buka blokir</string>
@@ -266,9 +265,6 @@
<string name="mark_all_known_as_read">Tandai semua yang dikenal sebagai telah dibaca</string>
<string name="mark_all_new_as_read">Tandai semua yang baru sebagai telah dibaca</string>
<string name="mark_all_as_read">Tandai semua sebagai telah dibaca</string>
<string name="account_backup_tips2_md">## Tips Cadangan Kunci dan Keamanan \n\nAkun Anda diamankan dengan kunci rahasia. Kunci ini adalah rangkaian karakter panjang yang diawali dengan **nsec1**. Siapa pun yang memiliki akses ke kunci rahasia ini dapat memposting dan mengubah identitas Anda. \n\n- **Jangan** memasukkan kunci rahasia Anda ke situs web atau perangkat lunak yang tidak Anda percaya. \n- Pengembang Amethyst **tidak akan pernah** meminta kunci rahasia Anda. \n- **Lakukan** pencadangan kunci rahasia Anda secara aman untuk pemulihan akun. Kami merekomendasikan penggunaan pengelola kata sandi.</string>
<string name="account_backup_tips3_md">Untuk keamanan tambahan, Anda dapat mengenkripsi kunci dengan kata sandi. Kunci ini diawali dengan **ncryptsec1** dan tidak dapat digunakan tanpa kata sandi Anda. \n\nJika Anda kehilangan kata sandi, Anda tidak akan dapat memulihkan kunci Anda.</string>
<string name="encrypt_and_copy_my_secret_key">Enkripsi dan salin kunci rahasia saya</string>
<string name="badge_award_image_for">Gambar penghargaan lencana untuk %1$s</string>
<string name="badge_award_image">"Gambar penghargaan lencana</string>
<string name="new_badge_award_notif">Anda menerima penghargaan lencana baru</string>
@@ -1972,7 +1968,6 @@
<string name="copied_note_text_to_clipboard">Teks disalin ke papan klip</string>
<string name="copied_to_clipboard">Disalin ke clipboard</string>
<string name="copied_user_id_to_clipboard">@npub pemilik telah disalin ke papan klip</string>
<string name="copy_my_secret_key">Salin kunci rahasia saya</string>
<string name="copy_to_clipboard">Salin ke clipboard</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Tidak dapat merakit LNUrl dari Alamat Lightning "%1$s". Periksa pengaturan pengguna</string>
<string name="could_not_check_downloaded_file">Tidak dapat memeriksa file yang diunduh setelah diunggah: %1$s</string>
@@ -2721,10 +2716,8 @@
<string name="share_as_image_url">Bagikan sebagai URL Gambar</string>
<string name="share_hls_video">Unggah HLS</string>
<string name="share_or_save">Bagikan atau Simpan</string>
<string name="show_encrypted_private_key_qr_code">Tampilkan kode QR kunci privat terenkripsi</string>
<string name="show_messages_in_notifications_setting_description">Sertakan pesan langsung dan grup pada tab Notifikasi. Matikan untuk menyimpan pesan hanya di tab Pesan.</string>
<string name="show_messages_in_notifications_setting_title">Tampilkan Pesan</string>
<string name="show_private_key_qr_code">Tampilkan kode QR kunci privat</string>
<string name="sign_request_rejected2">Permintaan tanda tangan ditolak</string>
<string name="sign_request_rejected_description">Pastikan aplikasi penandatangan telah mengizinkan transaksi ini</string>
<string name="signer_illegal_state_exception_description">Penanda tangan eksternal mengembalikan payload yang tidak sesuai dengan permintaan. Mungkin ada bug di Amethyst atau di penanda tangan.</string>
@@ -202,7 +202,6 @@
<string name="relays"> Relai</string>
<string name="website">Situs Web</string>
<string name="lightning_address">Alamat Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Salin Nsec ID (kata sandi anda) ke papan klip sebagai cadangan</string>
<string name="send_a_direct_message">Kirim Pesan Langsung</string>
<string name="edits_the_user_s_metadata">Ubah Metadata Pengguna</string>
<string name="unblock">Batalkan blokir</string>
@@ -257,9 +256,6 @@
<string name="mark_all_known_as_read">Tandai semua yg dikenal telah dibaca</string>
<string name="mark_all_new_as_read">Tandai pesan baru telah dibaca</string>
<string name="mark_all_as_read">Tandai semua telah dibaca</string>
<string name="account_backup_tips2_md">## Tips Cadangan Kunci dan Keamanan \n\nAkun Anda diamankan dengan kunci rahasia. Kunci ini adalah rangkaian karakter panjang yang diawali dengan **nsec1**. Siapa pun yang memiliki akses ke kunci rahasia ini dapat memposting dan mengubah identitas Anda. \n\n- **Jangan** memasukkan kunci rahasia Anda ke situs web atau perangkat lunak yang tidak Anda percaya. \n- Pengembang Amethyst **tidak akan pernah** meminta kunci rahasia Anda. \n- **Lakukan** pencadangan kunci rahasia Anda secara aman untuk pemulihan akun. Kami merekomendasikan penggunaan pengelola kata sandi.</string>
<string name="account_backup_tips3_md">Untuk keamanan tambahan, Anda dapat mengenkripsi kunci dengan kata sandi. Kunci ini diawali dengan **ncryptsec1** dan tidak dapat digunakan tanpa kata sandi Anda. \n\nJika Anda kehilangan kata sandi, Anda tidak akan dapat memulihkan kunci Anda.</string>
<string name="encrypt_and_copy_my_secret_key">Enkripsi dan salin kunci rahasia saya</string>
<string name="badge_award_image_for">Gambar penghargaan lencana untuk %1$s</string>
<string name="badge_award_image">"Gambar penghargaan lencana</string>
<string name="new_badge_award_notif">Anda Menerima Penghargaan Lencana baru</string>
@@ -2028,7 +2024,6 @@
<string name="copied_note_text_to_clipboard">Teks catatan disalin ke papan klip</string>
<string name="copied_to_clipboard">Disalin ke clipboard</string>
<string name="copied_user_id_to_clipboard">@npub Penulis disalin ke papan klip</string>
<string name="copy_my_secret_key">Salin kunci rahasia saya</string>
<string name="copy_to_clipboard">Salin ke clipboard</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Tidak dapat merakit LNUrl dari Alamat Lightning "%1$s". Periksa pengaturan pengguna</string>
<string name="could_not_check_downloaded_file">Tidak dapat memeriksa file yang diunduh setelah diunggah: %1$s</string>
@@ -2827,10 +2822,8 @@
<string name="share_hls_video">Unggah HLS</string>
<string name="share_or_save">Bagikan atau Simpan</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Tampilkan kode QR kunci privat terenkripsi</string>
<string name="show_messages_in_notifications_setting_description">Sertakan pesan langsung dan grup pada tab Notifikasi. Matikan untuk menyimpan pesan hanya di tab Pesan.</string>
<string name="show_messages_in_notifications_setting_title">Tampilkan Pesan</string>
<string name="show_private_key_qr_code">Tampilkan kode QR kunci privat</string>
<string name="sign_request_rejected2">Permintaan tanda tangan ditolak</string>
<string name="sign_request_rejected_description">Pastikan aplikasi penandatangan telah mengizinkan transaksi ini</string>
<string name="signer_illegal_state_exception_description">Penanda tangan eksternal mengembalikan payload yang tidak sesuai dengan permintaan. Mungkin ada bug di Amethyst atau di penanda tangan.</string>
@@ -212,7 +212,6 @@
<string name="relays"> Relè</string>
<string name="website">Sito web</string>
<string name="lightning_address">Indirizzo Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia l'ID Nsec (la password) negli appunti per il backup</string>
<string name="send_a_direct_message">Invia un messaggio diretto</string>
<string name="edits_the_user_s_metadata">Modifica i metadati dell'utente</string>
<string name="unblock">Sblocca</string>
@@ -266,9 +265,6 @@
<string name="mark_all_known_as_read">Segna tutti i conosciuti come letti</string>
<string name="mark_all_new_as_read">Segna tutti i nuovi come letti</string>
<string name="mark_all_as_read">Segna tutti come letti</string>
<string name="account_backup_tips2_md">## Suggerimenti per il backup e la sicurezza della chiave \n\nIl tuo account è protetto da una chiave segreta. La chiave è una lunga sequenza di caratteri che inizia con **nsec1**. Chiunque abbia accesso a questa chiave segreta può pubblicare e modificare la tua identità. \n\n- **Non** inserire la tua chiave segreta in nessun sito web o software di cui non ti fidi. \n- Gli sviluppatori di Amethyst non chiederanno **mai** la tua chiave segreta. \n- **Conserva** un backup sicuro della tua chiave segreta per il recupero dell'account. Si consiglia l'uso di un gestore di password.</string>
<string name="account_backup_tips3_md">Per maggiore sicurezza, puoi cifrare la tua chiave con una password. Questa chiave inizia con **ncryptsec1** e non può essere utilizzata senza la tua password. \n\nSe perdi la password, non potrai recuperare la tua chiave.</string>
<string name="encrypt_and_copy_my_secret_key">Cifra e copia la mia chiave segreta</string>
<string name="badge_award_image_for">Immagine premio badge per %1$s</string>
<string name="badge_award_image">"Immagine del premio badge</string>
<string name="new_badge_award_notif">Hai ricevuto un nuovo premio Badge</string>
@@ -1969,7 +1965,6 @@
<string name="copied_note_text_to_clipboard">Testo della nota copiato negli appunti</string>
<string name="copied_to_clipboard">Copiato negli appunti</string>
<string name="copied_user_id_to_clipboard">@npub dell'autore copiata negli appunti</string>
<string name="copy_my_secret_key">Copia la mia chiave segreta</string>
<string name="copy_to_clipboard">Copia negli appunti</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Impossibile assemblare LNUrl dall'indirizzo Lightning "%1$s". Controlla la configurazione dell'utente</string>
<string name="could_not_check_downloaded_file">Impossibile verificare il file scaricato dopo il caricamento: %1$s</string>
@@ -2754,10 +2749,8 @@
<string name="share_as_image_url">Condividi come URL immagine</string>
<string name="share_hls_video">Caricamento HLS</string>
<string name="share_or_save">Condividi o salva</string>
<string name="show_encrypted_private_key_qr_code">Mostra QR code della chiave privata cifrata</string>
<string name="show_messages_in_notifications_setting_description">Includi messaggi diretti e di gruppo nella scheda Notifiche. Disattiva per tenere i messaggi solo nella scheda Messaggi.</string>
<string name="show_messages_in_notifications_setting_title">Mostra messaggi</string>
<string name="show_private_key_qr_code">Mostra QR code della chiave privata</string>
<string name="sign_request_rejected2">Richiesta di firma rifiutata</string>
<string name="sign_request_rejected_description">Assicurati che l'applicazione signer abbia autorizzato questa transazione</string>
<string name="signer_illegal_state_exception_description">Il firmatario esterno ha restituito un payload inatteso per la richiesta. Potrebbe esserci un bug in Amethyst o nell'app firmatario.</string>
@@ -216,7 +216,6 @@
<string name="relays"> リレー</string>
<string name="website">ウェブサイト</string>
<string name="lightning_address">Lightningアドレス</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">バックアップ用に nsec ID (パスワード) をクリップボードにコピー</string>
<string name="send_a_direct_message">ダイレクトメッセージを送信</string>
<string name="edits_the_user_s_metadata">ユーザのメタデータを編集</string>
<string name="unblock">ブロック解除</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">すべての「知り合い」を既読にする</string>
<string name="mark_all_new_as_read">すべての「新規リクエスト」を既読にする</string>
<string name="mark_all_as_read">すべて既読にする</string>
<string name="account_backup_tips2_md">## 鍵のバックアップとセキュリティのヒント \n\nアカウントは秘密鍵によって保護されています。この鍵は **nsec1** で始まる長い文字列です。この秘密鍵にアクセスできる人は誰でも、あなたの名前でポストしたり、プロフィールを変更したりできます。 \n\n- 信頼していないウェブサイトやアプリに秘密鍵を **入力しないでください**。 \n- Amethyst の開発者が秘密鍵を **求めることは絶対にありません**。 \n- アカウントの復元のために、秘密鍵の安全なバックアップを **必ず** 保管してください。パスワードマネージャーの使用をお勧めします。</string>
<string name="account_backup_tips3_md">さらにセキュリティを高めるために、鍵をパスワードで暗号化することができます。この鍵は **ncryptsec1** で始まり、パスワードなしでは使用できません。 \n\nパスワードを忘れると、鍵を復元できなくなります。</string>
<string name="encrypt_and_copy_my_secret_key">秘密鍵を暗号化してコピー</string>
<string name="badge_award_image_for">%1$sのバッジ授与画像</string>
<string name="badge_award_image">バッジ授与の画像</string>
<string name="new_badge_award_notif">新しいバッジが授与されました</string>
@@ -1999,7 +1995,6 @@
<string name="copied_note_text_to_clipboard">テキストがクリップボードにコピーされました</string>
<string name="copied_to_clipboard">クリップボードにコピーしました</string>
<string name="copied_user_id_to_clipboard">@npubをクリップボードにコピーしました</string>
<string name="copy_my_secret_key">秘密鍵をコピー</string>
<string name="copy_to_clipboard">クリップボードにコピー</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning アドレス「%1$s」から LNUrl を組み立てられませんでした。ユーザーの設定を確認してください</string>
<string name="could_not_check_downloaded_file">アップロード後にダウンロードしたファイルを確認できませんでした:%1$s</string>
@@ -2774,10 +2769,8 @@
<string name="share_hls_video">HLS アップロード</string>
<string name="share_or_save">共有または保存</string>
<string name="shorts">ショート</string>
<string name="show_encrypted_private_key_qr_code">暗号化された秘密鍵の QR コードを表示</string>
<string name="show_messages_in_notifications_setting_description">通知タブにダイレクト・グループメッセージを含めます。オフにするとメッセージはメッセージタブのみに表示されます。</string>
<string name="show_messages_in_notifications_setting_title">メッセージを表示</string>
<string name="show_private_key_qr_code">秘密鍵の QR コードを表示</string>
<string name="sign_request_rejected2">署名リクエストが拒否されました</string>
<string name="sign_request_rejected_description">署名アプリがこのトランザクションを承認していることを確認してください</string>
<string name="signer_illegal_state_exception_description">外部署名アプリがリクエストに対して予期しないペイロードを返しました。Amethyst または署名アプリにバグがある可能性があります。</string>
@@ -202,7 +202,6 @@
<string name="relays"> リレー</string>
<string name="website">ウェブサイト</string>
<string name="lightning_address">Lightningアドレス</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">バックアップ用に nsec ID (パスワード) をクリップボードにコピー</string>
<string name="send_a_direct_message">ダイレクトメッセージを送信</string>
<string name="edits_the_user_s_metadata">ユーザのメタデータを編集</string>
<string name="unblock">ブロック解除</string>
@@ -257,9 +256,6 @@
<string name="mark_all_known_as_read">すべての「知り合い」を既読にする</string>
<string name="mark_all_new_as_read">すべての「新規リクエスト」を既読にする</string>
<string name="mark_all_as_read">すべて既読にする</string>
<string name="account_backup_tips2_md">## 鍵のバックアップとセキュリティのヒント \n\nアカウントは秘密鍵によって保護されています。この鍵は **nsec1** で始まる長い文字列です。この秘密鍵にアクセスできる人は誰でも、あなたの名前でポストしたり、プロフィールを変更したりできます。 \n\n- 信頼していないウェブサイトやアプリに秘密鍵を **入力しないでください**。 \n- Amethyst の開発者が秘密鍵を **求めることは絶対にありません**。 \n- アカウントの復元のために、秘密鍵の安全なバックアップを **必ず** 保管してください。パスワードマネージャーの使用をお勧めします。</string>
<string name="account_backup_tips3_md">さらにセキュリティを高めるために、鍵をパスワードで暗号化することができます。この鍵は **ncryptsec1** で始まり、パスワードなしでは使用できません。 \n\nパスワードを忘れると、鍵を復元できなくなります。</string>
<string name="encrypt_and_copy_my_secret_key">秘密鍵を暗号化してコピー</string>
<string name="badge_award_image_for">%1$sのバッジ授与画像</string>
<string name="badge_award_image">バッジ授与の画像</string>
<string name="new_badge_award_notif">新しいバッジが授与されました</string>
@@ -2028,7 +2024,6 @@
<string name="copied_note_text_to_clipboard">テキストがクリップボードにコピーされました</string>
<string name="copied_to_clipboard">クリップボードにコピーしました</string>
<string name="copied_user_id_to_clipboard">@npubをクリップボードにコピーしました</string>
<string name="copy_my_secret_key">秘密鍵をコピー</string>
<string name="copy_to_clipboard">クリップボードにコピー</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning アドレス「%1$s」から LNUrl を組み立てられませんでした。ユーザーの設定を確認してください</string>
<string name="could_not_check_downloaded_file">アップロード後にダウンロードしたファイルを確認できませんでした:%1$s</string>
@@ -2827,10 +2822,8 @@
<string name="share_hls_video">HLS アップロード</string>
<string name="share_or_save">共有または保存</string>
<string name="shorts">ショート</string>
<string name="show_encrypted_private_key_qr_code">暗号化された秘密鍵の QR コードを表示</string>
<string name="show_messages_in_notifications_setting_description">通知タブにダイレクト・グループメッセージを含めます。オフにするとメッセージはメッセージタブのみに表示されます。</string>
<string name="show_messages_in_notifications_setting_title">メッセージを表示</string>
<string name="show_private_key_qr_code">秘密鍵の QR コードを表示</string>
<string name="sign_request_rejected2">署名リクエストが拒否されました</string>
<string name="sign_request_rejected_description">署名アプリがこのトランザクションを承認していることを確認してください</string>
<string name="signer_illegal_state_exception_description">外部署名アプリがリクエストに対して予期しないペイロードを返しました。Amethyst または署名アプリにバグがある可能性があります。</string>
@@ -211,7 +211,6 @@
<string name="relays"> relay</string>
<string name="website">웹사이트</string>
<string name="lightning_address">Lightning 주소</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Nsec ID(비밀번호)를 백업을 위해 클립보드에 복사합니다</string>
<string name="send_a_direct_message">다이렉트 메시지 보내기</string>
<string name="edits_the_user_s_metadata">사용자 메타데이터 편집</string>
<string name="unblock">차단 해제</string>
@@ -266,9 +265,6 @@
<string name="mark_all_known_as_read">알려진 항목 모두 읽음 표시</string>
<string name="mark_all_new_as_read">새 항목 모두 읽음 표시</string>
<string name="mark_all_as_read">모두 읽음 표시</string>
<string name="account_backup_tips2_md">## 키 백업 및 보안 팁 \n\n계정은 비밀 키로 보호됩니다. 키는 **nsec1**로 시작하는 긴 문자열입니다. 이 비밀 키에 접근할 수 있는 누구든 게시물 작성 및 신원 변경이 가능합니다. \n\n- 신뢰하지 않는 웹사이트나 소프트웨어에 비밀 키를 **입력하지** 마세요. \n- Amethyst 개발자는 **절대** 비밀 키를 요청하지 않습니다. \n- 계정 복구를 위해 비밀 키를 안전하게 백업해 **두세요**. 비밀번호 관리자 사용을 권장합니다.</string>
<string name="account_backup_tips3_md">추가 보안을 위해 비밀번호로 키를 암호화할 수 있습니다. 이 키는 **ncryptsec1**로 시작하며 비밀번호 없이는 사용할 수 없습니다. \n\n비밀번호를 분실하면 키를 복구할 수 없습니다.</string>
<string name="encrypt_and_copy_my_secret_key">내 비밀 키 암호화 및 복사</string>
<string name="badge_award_image_for">%1$s의 배지 수상 이미지</string>
<string name="badge_award_image">"배지 수상 이미지</string>
<string name="new_badge_award_notif">새 배지를 수여받았습니다</string>
@@ -1988,7 +1984,6 @@
<string name="copied_note_text_to_clipboard">노트 텍스트가 클립보드에 복사되었습니다</string>
<string name="copied_to_clipboard">클립보드에 복사됨</string>
<string name="copied_user_id_to_clipboard">작성자의 @npub가 클립보드에 복사되었습니다</string>
<string name="copy_my_secret_key">내 비밀 키 복사</string>
<string name="copy_to_clipboard">클립보드에 복사</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning 주소 "%1$s"에서 LNUrl을 구성할 수 없습니다. 사용자 설정을 확인하세요</string>
<string name="could_not_check_downloaded_file">업로드 후 다운로드된 파일을 확인할 수 없습니다: %1$s</string>
@@ -2759,10 +2754,8 @@
<string name="share_as_image_url">이미지 URL로 공유</string>
<string name="share_hls_video">HLS 업로드</string>
<string name="share_or_save">공유 또는 저장</string>
<string name="show_encrypted_private_key_qr_code">암호화된 개인 키 QR 코드 표시</string>
<string name="show_messages_in_notifications_setting_description">알림 탭에 다이렉트 및 그룹 메시지를 포함합니다. 메시지를 메시지 탭에만 표시하려면 끄세요.</string>
<string name="show_messages_in_notifications_setting_title">메시지 표시</string>
<string name="show_private_key_qr_code">개인 키 QR 코드 표시</string>
<string name="sign_request_rejected2">서명 요청이 거부됨</string>
<string name="sign_request_rejected_description">서명 앱이 이 트랜잭션을 승인했는지 확인하세요</string>
<string name="signer_illegal_state_exception_description">외부 서명 앱이 요청과 맞지 않는 응답을 반환했습니다. Amethyst 또는 서명 앱에 버그가 있을 수 있습니다.</string>
@@ -220,7 +220,6 @@
<string name="relays"> Relay</string>
<string name="website">Vietne</string>
<string name="lightning_address">Lightning adrese</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopē Nsec ID (jūsu paroli) starpliktuvē dublēšanai</string>
<string name="send_a_direct_message">Sūtīt tiešo ziņojumu</string>
<string name="edits_the_user_s_metadata">Rediģē lietotāja metadatus</string>
<string name="unblock">Atbloķēt</string>
@@ -277,11 +276,8 @@
<string name="mark_all_known_as_read">Atzīmēt visu zināmo kā lasītu</string>
<string name="mark_all_new_as_read">Atzīmēt visu jauno kā lasītu</string>
<string name="mark_all_as_read">Atzīmēt visu kā lasītu</string>
<string name="account_backup_tips2_md">## Atslēgas dublēšanas un drošības padomi \n\nJūsu konts ir aizsargāts ar slepeno atslēgu. Atslēga ir gara rakstzīmju secība, kas sākas ar **nsec1**. Ikviens, kam ir piekļuve šai slepenai atslēgai, var publicēt un mainīt jūsu identitāti. \n\n- **Neievietojiet** savu slepeno atslēgu nevienā tīmekļa vietnē vai programmatūrā, kurai neuzticaties. \n- Amethyst izstrādātāji **nekad** neprasīs jūsu slepeno atslēgu. \n- **Glabājiet** drošu slepenas atslēgas dublējumu konta atjaunošanai. Mēs iesakām izmantot paroļu pārvaldnieku.</string>
<string name="account_backup_tips3_md">Papildu drošībai variet šifrēt atslēgu ar paroli. Šī atslēga sāksies ar **ncryptsec1** virkni un to nevarēs izmantot bez šīs paroles. \n\nJa jūs aizmirsīsiet paroli, vairs nevarēsiet atgūt savu atslēgu.</string>
<string name="backup_keys_nudge_body">Jūsu slepenā atslēga ir vienīgais veids, kā piekļūt šim kontam. Ja to pazaudēsiet, tad nekad nevarēsiet atgūt piekļuvi kontam. Saglabājiet atslēgu drošā vietā tagad.</string>
<string name="backup_keys_nudge_already_saved">Esiet tās saglabājuši</string>
<string name="encrypt_and_copy_my_secret_key">Šifrēt un kopēt manu slepeno atslēgu</string>
<string name="badge_award_image_for">Žetona piešķiršanas attēls par %1$s</string>
<string name="badge_award_image">"Žetona piešķiršanas attēls</string>
<string name="new_badge_award_notif">Jūs saņēmāt jaunu žetonu</string>
@@ -2020,7 +2016,6 @@
<string name="copied_note_text_to_clipboard">Piezīmes teksts nokopēts starpliktuvē</string>
<string name="copied_to_clipboard">Nokopēts starpliktuvē</string>
<string name="copied_user_id_to_clipboard">Autora @npub nokopēts starpliktuvē</string>
<string name="copy_my_secret_key">Kopēt manu slepeno atslēgu</string>
<string name="copy_to_clipboard">Kopēt starpliktuvē</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nevarēja izveidot LNUrl no Lightning adreses "%1$s". Pārbaudiet lietotāja iestatījumus</string>
<string name="could_not_check_downloaded_file">Nevarēja pārbaudīt lejupielādēto failu pēc augšupielādes: %1$s</string>
@@ -2842,10 +2837,8 @@
<string name="share_hls_video">HLS augšupielāde</string>
<string name="share_or_save">Kopīgot vai saglabāt</string>
<string name="shorts">Šorti</string>
<string name="show_encrypted_private_key_qr_code">Rādīt šifrētās privātās atslēgas QR kodu</string>
<string name="show_messages_in_notifications_setting_description">Iekļaut tiešās un grupas ziņas paziņojumu cilnē. Izslēdziet, lai ziņas tiktu rādītas tikai ziņojumu cilnē.</string>
<string name="show_messages_in_notifications_setting_title">Rādīt ziņas</string>
<string name="show_private_key_qr_code">Rādīt privātās atslēgas QR kodu</string>
<string name="sign_request_rejected2">Parakstīšanas pieprasījums noraidīts</string>
<string name="sign_request_rejected_description">Pārliecinieties, ka parakstītāja lietotne ir autorizējusi šo darījumu</string>
<string name="signer_illegal_state_exception_description">Ārējais parakstītājs atgrieza neparastu atbildi uz pieprasījumu. Iespējams, ir kļūda Amethyst vai parakstītājā.</string>
@@ -204,7 +204,6 @@
<string name="relays">Relays</string>
<string name="website">Website</string>
<string name="lightning_address">Lightning-adres</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopieert je privésleutel (nsec) naar het klembord voor back-up</string>
<string name="send_a_direct_message">Stuur privébericht</string>
<string name="edits_the_user_s_metadata">Bewerkt gebruikers-metadata</string>
<string name="unblock">Deblokkeren</string>
@@ -259,7 +258,6 @@
<string name="mark_all_known_as_read">Alle bekende markeren als gelezen</string>
<string name="mark_all_new_as_read">Alle nieuwe markeren als gelezen</string>
<string name="mark_all_as_read">Alles markeren als gelezen</string>
<string name="encrypt_and_copy_my_secret_key">Versleutel en kopieer mijn privésleutel</string>
<string name="badge_award_image_for">Badge-awardafbeelding voor %1$s</string>
<string name="badge_award_image">Badge-awardafbeelding</string>
<string name="new_badge_award_notif">Je hebt een nieuwe badge-award ontvangen</string>
@@ -1800,8 +1798,6 @@
<string name="ots_explorer_api_label">Explorer API-basis-URL</string>
<string name="dvm_pay_invoice_from_dvm">Factuur betalen van de DVM</string>
<string name="dvm_pay_amount_to_dvm">%1$s sats betalen aan de DVM</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips2_md" ns0:ignore="Typos">## Sleutelback-up en veiligheidstips\n\nJe account wordt beveiligd door een privésleutel (begint met **nsec1**). Iedereen met deze sleutel kan namens jou posten.\n\n- Voer je privésleutel **nooit** in op een website of app die je niet volledig vertrouwt.\n- Amethyst-ontwikkelaars zullen **nooit** om je privésleutel vragen.\n- Maak een veilige back-up van je privésleutel (bijvoorbeeld in een wachtwoordmanager).</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips3_md" ns0:ignore="Typos">Voor extra veiligheid kun je je sleutel versleutelen met een wachtwoord. Deze versleutelde sleutel begint met **ncryptsec1** en kan alleen met je wachtwoord worden gebruikt.\n\nAls je het wachtwoord vergeet, kun je de sleutel niet meer herstellen.</string>
<string name="use_direct_url">Directe URL gebruiken</string>
<string name="nsite_title">Statische website: %1$s</string>
<string name="nsite_root_site">Root-site</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Note-tekst gekopieerd naar klembord</string>
<string name="copied_to_clipboard">Gekopieerd naar klembord</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="copied_user_id_to_clipboard" ns0:ignore="Typos">Gebruikers-ID (@npub…) gekopieerd naar klembord</string>
<string name="copy_my_secret_key">Mijn privésleutel kopiëren</string>
<string name="copy_to_clipboard">Kopiëren naar klembord</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Kon LNURL niet samenstellen vanuit Lightning-adres "%1$s". Controleer de instellingen van de gebruiker.</string>
<string name="could_not_check_downloaded_file">Kon gedownload bestand niet controleren na upload: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">HLS-upload</string>
<string name="share_or_save">Delen of opslaan</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Toon versleutelde QR-code van privésleutel</string>
<string name="show_messages_in_notifications_setting_description">Directe berichten en groepsberichten opnemen in het tabblad Meldingen. Uitschakelen om berichten alleen in het tabblad Berichten te houden.</string>
<string name="show_messages_in_notifications_setting_title">Berichten tonen</string>
<string name="show_private_key_qr_code">Toon QR-code van privésleutel</string>
<string name="sign_request_rejected2">Ondertekenverzoek afgewezen</string>
<string name="sign_request_rejected_description">Zorg dat de signer-app dit verzoek heeft goedgekeurd.</string>
<string name="signer_illegal_state_exception_description">Externe signer heeft een onjuiste payload geretourneerd voor dit verzoek. Er kan een bug zitten in Amethyst of in de signer.</string>
@@ -338,7 +338,6 @@
<string name="number_reports">%1$s rapportages</string>
<string name="relays">Relays</string>
<string name="lightning_address">Lightning-adres</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopieert je privésleutel (nsec) naar het klembord voor back-up</string>
<string name="send_a_direct_message">Stuur privébericht</string>
<string name="edits_the_user_s_metadata">Bewerkt gebruikers-metadata</string>
<string name="unblock">Deblokkeren</string>
@@ -444,14 +443,11 @@
<string name="mark_all_known_as_read">Alle bekende markeren als gelezen</string>
<string name="mark_all_new_as_read">Alle nieuwe markeren als gelezen</string>
<string name="mark_all_as_read">Alles markeren als gelezen</string>
<string name="account_backup_tips2_md">## Sleutelback-up en veiligheidstips\n\nJe account wordt beveiligd door een privésleutel (begint met **nsec1**). Iedereen met deze sleutel kan namens jou posten.\n\n- Voer je privésleutel **nooit** in op een website of app die je niet volledig vertrouwt.\n- Amethyst-ontwikkelaars zullen **nooit** om je privésleutel vragen.\n- Maak een veilige back-up van je privésleutel (bijvoorbeeld in een wachtwoordmanager).</string>
<string name="account_backup_tips3_md">Voor extra veiligheid kun je je sleutel versleutelen met een wachtwoord. Deze versleutelde sleutel begint met **ncryptsec1** en kan alleen met je wachtwoord worden gebruikt.\n\nAls je het wachtwoord vergeet, kun je de sleutel niet meer herstellen.</string>
<string name="backup_keys_nudge_title">Maak een back-up van je sleutels</string>
<string name="backup_keys_nudge_body">Je geheime sleutel is de enige manier om bij dit account te komen. Raak je hem kwijt, dan is hij nooit meer te herstellen. Sla hem nu op een veilige plek op.</string>
<string name="backup_keys_nudge_backup_now">Nu back-uppen</string>
<string name="backup_keys_nudge_already_saved">Ik heb ze opgeslagen</string>
<string name="backup_keys_nudge_dismiss">Sluiten</string>
<string name="encrypt_and_copy_my_secret_key">Versleutel en kopieer mijn privésleutel</string>
<string name="badge_award_image_for">Badge-awardafbeelding voor %1$s</string>
<string name="badge_award_image">Badge-awardafbeelding</string>
<string name="new_badge_award_notif">Je hebt een nieuwe badge-award ontvangen</string>
@@ -3081,7 +3077,6 @@
<string name="copied_note_text_to_clipboard">Note-tekst gekopieerd naar klembord</string>
<string name="copied_to_clipboard">Gekopieerd naar klembord</string>
<string name="copied_user_id_to_clipboard">Gebruikers-ID (@npub…) gekopieerd naar klembord</string>
<string name="copy_my_secret_key">Mijn privésleutel kopiëren</string>
<string name="copy_to_clipboard">Kopiëren naar klembord</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Kon LNURL niet samenstellen vanuit Lightning-adres "%1$s". Controleer de instellingen van de gebruiker.</string>
<string name="could_not_check_downloaded_file">Kon gedownload bestand niet controleren na upload: %1$s</string>
@@ -4473,10 +4468,8 @@
<string name="share_hls_video">HLS-upload</string>
<string name="share_or_save">Delen of opslaan</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Toon versleutelde QR-code van privésleutel</string>
<string name="show_messages_in_notifications_setting_description">Directe berichten en groepsberichten opnemen in het tabblad Meldingen. Uitschakelen om berichten alleen in het tabblad Berichten te houden.</string>
<string name="show_messages_in_notifications_setting_title">Berichten tonen</string>
<string name="show_private_key_qr_code">Toon QR-code van privésleutel</string>
<string name="sign_request_rejected2">Ondertekenverzoek afgewezen</string>
<string name="sign_request_rejected_description">Zorg dat de signer-app dit verzoek heeft goedgekeurd.</string>
<string name="signer_illegal_state_exception_description">Externe signer heeft een onjuiste payload geretourneerd voor dit verzoek. Er kan een bug zitten in Amethyst of in de signer.</string>
@@ -204,7 +204,6 @@
<string name="relays">Relays</string>
<string name="website">Website</string>
<string name="lightning_address">Lightning Adress</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopieert het NSEC ID (uw wachtwoord) naar klembord voor back-up.</string>
<string name="send_a_direct_message">Stuur een privébericht</string>
<string name="edits_the_user_s_metadata">Bewerkt de metadata van de gebruiker</string>
<string name="unblock">Deblokkeren</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">Bekende markeren als gelezen</string>
<string name="mark_all_new_as_read">Nieuwe markeren als gelezen</string>
<string name="mark_all_as_read">Alles markeren als gelezen</string>
<string name="account_backup_tips2_md">## Sleutel back-up en veiligheidstips \n\nUw account is beveiligd met een privésleutel. De sleutel is een lange, willekeurige reeks die begint met **nsec1**. Iedereen die toegang heeft tot uw privésleutel kan inhoud publiceren met uw identiteit. \n\n- Voer uw privésleutel **nooit** in een website of software die u niet vertrouwt. \n- Amethyst ontwikkelaars zullen u **nooit** om uw privésleutel vragen. \n- **Bewaar** een veilige back-up van uw privésleutel voor accountherstel. Wij raden u aan een wachtwoordmanager te gebruiken.</string>
<string name="account_backup_tips3_md">Voor meer veiligheid kan je je sleutel versleutelen met een wachtwoord. Deze sleutel begint met **ncryptsec1** en kan niet worden gebruikt zonder uw wachtwoord. \n\nAls je je wachtwoord verliest, je kan je sleutel niet herstellen.</string>
<string name="encrypt_and_copy_my_secret_key">Versleutel en kopieer mijn geheime sleutel</string>
<string name="badge_award_image_for">Badge award afbeelding voor %1$s</string>
<string name="badge_award_image">Badge-awardafbeelding</string>
<string name="new_badge_award_notif">Je hebt een nieuwe Badge award ontvangen</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Note tekst gekopieerd naar klembord</string>
<string name="copied_to_clipboard">Gekopieerd naar klembord</string>
<string name="copied_user_id_to_clipboard">@npub auteur gekopieerd naar klembord</string>
<string name="copy_my_secret_key">Kopieer mijn privésleutel</string>
<string name="copy_to_clipboard">Kopiëren naar klembord</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Kon LNUrl niet samenbrengen van Lightning Adress "%1$s". Controleer de instellingen van de gebruiker</string>
<string name="could_not_check_downloaded_file">Kan het gedownloade bestand niet controleren na upload: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">HLS-upload</string>
<string name="share_or_save">Delen of opslaan</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Toon versleutelde QR-code van privésleutel</string>
<string name="show_messages_in_notifications_setting_description">Directe berichten en groepsberichten opnemen in het tabblad Meldingen. Uitschakelen om berichten alleen in het tabblad Berichten te houden.</string>
<string name="show_messages_in_notifications_setting_title">Berichten tonen</string>
<string name="show_private_key_qr_code">Toon QR-code van privésleutel</string>
<string name="sign_request_rejected2">Ondertekenverzoek afgewezen</string>
<string name="sign_request_rejected_description">Zorg ervoor dat de teken-app deze transactie heeft geautoriseerd</string>
<string name="signer_illegal_state_exception_description">Externe signer heeft een onjuiste payload geretourneerd voor dit verzoek. Er kan een bug zitten in Amethyst of in de signer.</string>
@@ -561,7 +561,6 @@
<string name="relays"> Transmitery</string>
<string name="website">Strona www</string>
<string name="lightning_address">Lightning Adres</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopiuje Nsec ID (hasło) do schowka w celu wykonania kopii zapasowej</string>
<string name="send_a_direct_message">Wyślij bezpośrednią wiadomość</string>
<string name="edits_the_user_s_metadata">Edytowanie metadanych użytkowników</string>
<string name="unblock">Odblokuj</string>
@@ -670,14 +669,11 @@
<string name="mark_all_known_as_read">Zaznacz wszystkie popularne jako przeczytane</string>
<string name="mark_all_new_as_read">Zaznacz wszystkie nowe jako przeczytane</string>
<string name="mark_all_as_read">Zaznacz wszystkie jako przeczytane</string>
<string name="account_backup_tips2_md">## Porady dotyczące kopii zapasowej i bezpieczeństwa \n\nTwoje konto jest zabezpieczone tajnym kluczem. Kluczem jest długa sekwencja znaków, zaczynająca się od **nsec1**. Każdy, kto ma dostęp do tego tajnego klucza może publikować i zmieniać Twoją tożsamość. \n\n- **nie** umiejszczaj swojego tajnego klucza na żadnej stronie internetowej lub oprogramowaniu, któremu nie ufasz. \n- Deweloperzy Ametyst **nigdy** nie będą prosić o Twój tajny klucz. \n- **Zrób ** bezpieczną kopię zapasową swojego tajnego klucza do ewentualnego odzyskania konta. Zalecamy użycie menedżera haseł.</string>
<string name="account_backup_tips3_md">Dla dodatkowego bezpieczeństwa możesz zaszyfrować swój klucz hasłem. Ten klucz zaczyna się od **ncryptsec1** i nie może być użyty bez hasła. \n\nJeśli zgubisz hasło, nie będziesz w stanie odzyskać swojego klucza.</string>
<string name="backup_keys_nudge_title">Kopia zapasowa kluczy</string>
<string name="backup_keys_nudge_body">Twój tajny klucz jest jedynym sposobem na dostęp do tego konta. Jeśli go zgubisz, nigdy nie będzie można go odzyskać. Zapisz go w bezpiecznym miejscu.</string>
<string name="backup_keys_nudge_backup_now">Utwórz kopię zapasową</string>
<string name="backup_keys_nudge_already_saved">Zapisałem(am)</string>
<string name="backup_keys_nudge_dismiss">Ignoruj</string>
<string name="encrypt_and_copy_my_secret_key">Zaszyfruj i skopiuj mój tajny klucz</string>
<string name="badge_award_image_for">Wizerunek odznaki dla %1$s</string>
<string name="badge_award_image">Wizerunek odznaki</string>
<string name="new_badge_award_notif">Otrzymałeś nową odznakę</string>
@@ -3653,7 +3649,6 @@
<string name="copied_note_text_to_clipboard">Skopiowano tekst wpisu do schowka</string>
<string name="copied_to_clipboard">Skopiowano do schowka</string>
<string name="copied_user_id_to_clipboard">Skopiowano @npub autora do schowka</string>
<string name="copy_my_secret_key">Kopiuj mój tajny klucz</string>
<string name="copy_to_clipboard">Kopiuj do schowka</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nie można stworzyć LNUrl z Adresu "%1$s". Sprawdź konfigurację użytkownika</string>
<string name="could_not_check_downloaded_file">Nie można sprawdzić pobranego pliku po wgraniu: %1$s</string>
@@ -5256,10 +5251,8 @@
<string name="share_hls_video">Wgraj HLS</string>
<string name="share_or_save">Udostępnij lub zapisz</string>
<string name="shorts">Filmiki</string>
<string name="show_encrypted_private_key_qr_code">Pokaż zaszyfrowany kod QR klucza prywatnego</string>
<string name="show_messages_in_notifications_setting_description">W zakładce „Powiadomienia” znajdują się zarówno wiadomości bezpośrednie, jak i grupowe. Wyłącz tę opcję, aby wiadomości były wyświetlane wyłącznie w zakładce „Wiadomości”.</string>
<string name="show_messages_in_notifications_setting_title">Pokaż wiadomości</string>
<string name="show_private_key_qr_code">Pokaż kod QR klucza prywatnego</string>
<string name="sign_request_rejected2">Prośba o zalogowanie została odrzucona</string>
<string name="sign_request_rejected_description">Upewnij się, że aplikacja logującego autoryzuje tę operację</string>
<string name="signer_illegal_state_exception_description">Sygnatariusz zewnętrzny zwrócił dane, które są niezgodne z żądaniem. Być może wystąpił błąd w Amethyst lub w samym sygnatariuszu.</string>
@@ -545,7 +545,6 @@
<string name="relays"> Relés</string>
<string name="website">Site</string>
<string name="lightning_address">Endereço Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copiar a chave Nsec (sua senha) para backup</string>
<string name="send_a_direct_message">Enviar uma mensagem direta</string>
<string name="edits_the_user_s_metadata">Muda os dados do usuário</string>
<string name="unblock">Desbloquear</string>
@@ -654,14 +653,11 @@
<string name="mark_all_known_as_read">Marcar todos conhecidos como lidos</string>
<string name="mark_all_new_as_read">Marcar todas novas solicitações como lidas</string>
<string name="mark_all_as_read">Marcar todas como lidas</string>
<string name="account_backup_tips2_md">## Dicas de Backup de Chave e Segurança \n\nSua conta é protegida por uma chave secreta. A chave é uma sequência longa de caracteres que começa com **nsec1**. Qualquer pessoa que tenha acesso a esta chave secreta pode postar e alterar sua identidade. \n\n- **Não** coloque sua chave secreta em nenhum site ou software que você não confie. \n- Os desenvolvedores da Amethyst **nunca** pedirão sua chave secreta. \n- **Mantenha** uma cópia de segurança segura de sua chave secreta para recuperação da conta. Recomendamos o uso de um gerenciador de senhas.</string>
<string name="account_backup_tips3_md">Para segurança adicional, você pode criptografar sua chave com uma senha. Esta chave começa com **ncryptsec1** e não pode ser usada sem sua senha. \n\nSe você perder sua senha, não será possível recuperar sua chave.</string>
<string name="backup_keys_nudge_title">Faça backup das suas chaves</string>
<string name="backup_keys_nudge_body">Sua chave secreta é a única forma de acessar esta conta. Se você perdê-la, ela nunca poderá ser recuperada. Guarde-a em um lugar seguro agora.</string>
<string name="backup_keys_nudge_backup_now">Fazer backup agora</string>
<string name="backup_keys_nudge_already_saved">Já salvei</string>
<string name="backup_keys_nudge_dismiss">Dispensar</string>
<string name="encrypt_and_copy_my_secret_key">Criptografar e copiar minha chave secreta</string>
<string name="badge_award_image_for">Imagem da medalha para %1$s</string>
<string name="badge_award_image">Imagem do prêmio</string>
<string name="new_badge_award_notif">Você recebeu uma nova medalha</string>
@@ -3577,7 +3573,6 @@
<string name="copied_note_text_to_clipboard">Texto copiado</string>
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
<string name="copied_user_id_to_clipboard">Copiado @npub do autor</string>
<string name="copy_my_secret_key">Copiar minha chave secreta</string>
<string name="copy_to_clipboard">Copiar para a Área de Transferência</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Não foi possível montar o LNUrl a partir do Endereço Lightning "%1$s". Verifique a configuração do usuário</string>
<string name="could_not_check_downloaded_file">Não foi possível verificar o arquivo baixado após o upload: %1$s</string>
@@ -5040,10 +5035,8 @@
<string name="share_hls_video">Upload HLS</string>
<string name="share_or_save">Compartilhar ou Salvar</string>
<string name="shorts">Curtas</string>
<string name="show_encrypted_private_key_qr_code">Mostrar o código QR da chave privada criptografado</string>
<string name="show_messages_in_notifications_setting_description">Inclui mensagens diretas e de grupo na aba Notificações. Desative para manter as mensagens apenas na aba Mensagens.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensagens</string>
<string name="show_private_key_qr_code">Mostrar código QR de chave privada</string>
<string name="sign_request_rejected2">Solicitação de assinatura rejeitada</string>
<string name="sign_request_rejected_description">Certifique-se de que a aplicação assinante autorizou esta transação</string>
<string name="signer_illegal_state_exception_description">O assinador externo retornou dados estranhos para a solicitação. Pode haver um bug no Amethyst ou no assinador.</string>
@@ -216,7 +216,6 @@
<string name="relays"> Relés</string>
<string name="website">Site</string>
<string name="lightning_address">Endereço Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copiar a chave Nsec (sua senha) para backup</string>
<string name="send_a_direct_message">Enviar uma mensagem direta</string>
<string name="edits_the_user_s_metadata">Muda os dados do usuário</string>
<string name="unblock">Desbloquear</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">Marcar todos conhecidos como lidos</string>
<string name="mark_all_new_as_read">Marcar todas novas solicitações como lidas</string>
<string name="mark_all_as_read">Marcar todas como lidas</string>
<string name="account_backup_tips2_md">## Dicas de Backup de Chave e Segurança \n\nSua conta é protegida por uma chave secreta. A chave é uma sequência longa de caracteres que começa com **nsec1**. Qualquer pessoa que tenha acesso a esta chave secreta pode postar e alterar sua identidade. \n\n- **Não** coloque sua chave secreta em nenhum site ou software que você não confie. \n- Os desenvolvedores da Amethyst **nunca** pedirão sua chave secreta. \n- **Mantenha** uma cópia de segurança segura de sua chave secreta para recuperação da conta. Recomendamos o uso de um gerenciador de senhas.</string>
<string name="account_backup_tips3_md">Para segurança adicional, você pode criptografar sua chave com uma senha. Esta chave começa com **ncryptsec1** e não pode ser usada sem sua senha. \n\nSe você perder sua senha, não será possível recuperar sua chave.</string>
<string name="encrypt_and_copy_my_secret_key">Criptografar e copiar minha chave secreta</string>
<string name="badge_award_image_for">Imagem da medalha para %1$s</string>
<string name="badge_award_image">Imagem do prêmio</string>
<string name="new_badge_award_notif">Você recebeu uma nova medalha</string>
@@ -1988,7 +1984,6 @@
<string name="copied_note_text_to_clipboard">Texto copiado</string>
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
<string name="copied_user_id_to_clipboard">Copiado @npub do autor</string>
<string name="copy_my_secret_key">Copiar minha chave secreta</string>
<string name="copy_to_clipboard">Copiar para a Área de Transferência</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Não foi possível montar o LNUrl a partir do Endereço Lightning "%1$s". Verifique a configuração do usuário</string>
<string name="could_not_check_downloaded_file">Não foi possível verificar o arquivo baixado após o upload: %1$s</string>
@@ -2775,10 +2770,8 @@
<string name="share_hls_video">Upload HLS</string>
<string name="share_or_save">Compartilhar ou Salvar</string>
<string name="shorts">Curtas</string>
<string name="show_encrypted_private_key_qr_code">Mostrar o código QR da chave privada criptografado</string>
<string name="show_messages_in_notifications_setting_description">Inclui mensagens diretas e de grupo na aba Notificações. Desative para manter as mensagens apenas na aba Mensagens.</string>
<string name="show_messages_in_notifications_setting_title">Mostrar mensagens</string>
<string name="show_private_key_qr_code">Mostrar código QR de chave privada</string>
<string name="sign_request_rejected2">Solicitação de assinatura rejeitada</string>
<string name="sign_request_rejected_description">Certifique-se de que a aplicação assinante autorizou esta transação</string>
<string name="signer_illegal_state_exception_description">O assinador externo retornou dados estranhos para a solicitação. Pode haver um bug no Amethyst ou no assinador.</string>
@@ -219,7 +219,6 @@
<string name="relays"> Релеев</string>
<string name="website">Сайт</string>
<string name="lightning_address">Lightning адрес</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Копирует Nsec ID (ваш пароль) для резервного копирования</string>
<string name="send_a_direct_message">Отправить сообщение</string>
<string name="edits_the_user_s_metadata">Редактирует метаданные пользователя</string>
<string name="unblock">Разблокировать</string>
@@ -274,9 +273,6 @@
<string name="mark_all_known_as_read">Отметить все известные прочитанными</string>
<string name="mark_all_new_as_read">Отметить все новые прочитанными</string>
<string name="mark_all_as_read">Отметить всё прочитанным</string>
<string name="account_backup_tips2_md">## Советы по резервному копированию и безопасности ключей \n\nВаш аккаунт защищён секретным ключом. Ключ — это длинная последовательность символов, начинающаяся с **nsec1**. Любой, кто получит доступ к этому секретному ключу, сможет публиковать записи и менять вашу личность. \n\n- **Не** вводите свой секретный ключ на сайтах или в приложениях, которым не доверяете. \n- Разработчики Amethyst **никогда** не будут запрашивать ваш секретный ключ. \n- **Обязательно** сохраните надёжную резервную копию секретного ключа для восстановления аккаунта. Рекомендуем использовать менеджер паролей.</string>
<string name="account_backup_tips3_md">Для дополнительной безопасности вы можете зашифровать ваш ключ с помощью пароля. Этот ключ начинается с **ncryptsec1** и не может быть использован без пароля. \n\nЕсли вы потеряете свой пароль, вы не сможете восстановить ваш ключ.</string>
<string name="encrypt_and_copy_my_secret_key">Зашифровать и копировать мой секретный ключ</string>
<string name="badge_award_image_for">Картинка значка-награды %1$s</string>
<string name="badge_award_image">Изображение награды за значок</string>
<string name="new_badge_award_notif">Вы получили в награду новый значок</string>
@@ -2029,7 +2025,6 @@
<string name="copied_note_text_to_clipboard">Копировать текст</string>
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="copied_user_id_to_clipboard">ID (npub) автора скопирован</string>
<string name="copy_my_secret_key">Скопировать мой приватный ключ</string>
<string name="copy_to_clipboard">Копировать в буфер обмена</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Не удалось собрать LNUrl из Lightning Address «%1$s». Проверьте настройки пользователя</string>
<string name="could_not_check_downloaded_file">Не удалось проверить загруженный файл после выгрузки: %1$s</string>
@@ -2858,10 +2853,8 @@
<string name="share_as_image_url">Поделиться URL изображения</string>
<string name="share_hls_video">Загрузка HLS</string>
<string name="share_or_save">Поделиться или сохранить</string>
<string name="show_encrypted_private_key_qr_code">Показать зашифрованный QR-код приватного ключа</string>
<string name="show_messages_in_notifications_setting_description">Включить личные и групповые сообщения во вкладку «Уведомления». Отключите, чтобы сообщения отображались только во вкладке «Сообщения».</string>
<string name="show_messages_in_notifications_setting_title">Показывать сообщения</string>
<string name="show_private_key_qr_code">Показать QR-код приватного ключа</string>
<string name="sign_request_rejected2">Запрос на подпись отклонён</string>
<string name="sign_request_rejected_description">Убедитесь, что приложение подписи авторизовало эту транзакцию</string>
<string name="signer_illegal_state_exception_description">Внешний подписант вернул неожиданный ответ на запрос. Возможно, ошибка в Amethyst или в приложении подписи.</string>
@@ -212,7 +212,6 @@
<string name="reports">Жалобы</string>
<string name="number_reports">%1$s жалоб</string>
<string name="website">Веб-сайт</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Копирует Nsec ID (ваш пароль) в буфер обмена для резервного копирования</string>
<string name="send_a_direct_message">Отправить личное сообщение</string>
<string name="edits_the_user_s_metadata">Редактирует метаданные пользователя</string>
<string name="unblock">Разблокировать</string>
@@ -267,9 +266,6 @@
<string name="mark_all_known_as_read">Отметить все известные как прочитанные</string>
<string name="mark_all_new_as_read">Отметить все новые как прочитанные</string>
<string name="mark_all_as_read">Отметить все как прочитанные</string>
<string name="account_backup_tips2_md">## Советы по резервному копированию и безопасности ключей \n\nВаш аккаунт защищён секретным ключом. Ключ — это длинная последовательность символов, начинающаяся с **nsec1**. Любой, кто получит доступ к этому секретному ключу, сможет публиковать записи и менять вашу личность. \n\n- **Не** вводите свой секретный ключ на сайтах или в приложениях, которым не доверяете. \n- Разработчики Amethyst **никогда** не будут запрашивать ваш секретный ключ. \n- **Обязательно** сохраните надёжную резервную копию секретного ключа для восстановления аккаунта. Рекомендуем использовать менеджер паролей.</string>
<string name="account_backup_tips3_md">Для дополнительной безопасности вы можете зашифровать ваш ключ паролем. Этот ключ начинается с **ncryptsec1** и не может быть использован без вашего пароля. \n\nЕсли вы потеряете пароль, вы не сможете восстановить ключ.</string>
<string name="encrypt_and_copy_my_secret_key">Зашифровать и скопировать мой секретный ключ</string>
<string name="badge_award_image_for">Изображение награды для %1$s</string>
<string name="badge_award_image">Изображение награды за значок</string>
<string name="new_badge_award_notif">Вы получили новую награду</string>
@@ -2015,7 +2011,6 @@
<string name="copied_note_text_to_clipboard">Текст записи скопирован в буфер обмена</string>
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="copied_user_id_to_clipboard">@npub автора скопирован в буфер обмена</string>
<string name="copy_my_secret_key">Скопировать мой секретный ключ</string>
<string name="copy_to_clipboard">Скопировать в буфер обмена</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Не удалось собрать LNUrl из Lightning Address «%1$s». Проверьте настройки пользователя</string>
<string name="could_not_check_downloaded_file">Не удалось проверить загруженный файл после выгрузки: %1$s</string>
@@ -2840,10 +2835,8 @@
<string name="share_as_image_url">Поделиться URL изображения</string>
<string name="share_hls_video">Загрузка HLS</string>
<string name="share_or_save">Поделиться или сохранить</string>
<string name="show_encrypted_private_key_qr_code">Показать QR-код зашифрованного приватного ключа</string>
<string name="show_messages_in_notifications_setting_description">Включить личные и групповые сообщения во вкладку «Уведомления». Отключите, чтобы сообщения отображались только во вкладке «Сообщения».</string>
<string name="show_messages_in_notifications_setting_title">Показывать сообщения</string>
<string name="show_private_key_qr_code">Показать QR-код приватного ключа</string>
<string name="sign_request_rejected2">Запрос на подпись отклонён</string>
<string name="sign_request_rejected_description">Убедитесь, что приложение подписи авторизовало эту транзакцию</string>
<string name="signer_illegal_state_exception_description">Внешний подписант вернул неожиданный ответ на запрос. Возможно, ошибка в Amethyst или в приложении подписи.</string>
@@ -208,7 +208,6 @@
<string name="relays"> Релеев</string>
<string name="website">Сайт</string>
<string name="lightning_address">Lightning адрес</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Копирует Nsec ID (ваш пароль) для резервного копирования</string>
<string name="send_a_direct_message">Отправить сообщение</string>
<string name="edits_the_user_s_metadata">Редактирует метаданные пользователя</string>
<string name="unblock">Разблокировать</string>
@@ -263,9 +262,6 @@
<string name="mark_all_known_as_read">Отметить все известные прочитанными</string>
<string name="mark_all_new_as_read">Отметить все новые прочитанными</string>
<string name="mark_all_as_read">Отметить всё прочитанным</string>
<string name="account_backup_tips2_md">## Советы по резервному копированию и безопасности ключей \n\nВаш аккаунт защищён секретным ключом. Ключ — это длинная последовательность символов, начинающаяся с **nsec1**. Любой, кто получит доступ к этому секретному ключу, сможет публиковать записи и менять вашу личность. \n\n- **Не** вводите свой секретный ключ на сайтах или в приложениях, которым не доверяете. \n- Разработчики Amethyst **никогда** не будут запрашивать ваш секретный ключ. \n- **Обязательно** сохраните надёжную резервную копию секретного ключа для восстановления аккаунта. Рекомендуем использовать менеджер паролей.</string>
<string name="account_backup_tips3_md">Для дополнительной безопасности вы можете зашифровать ваш ключ паролем. Этот ключ начинается с **ncryptsec1** и не может быть использован без вашего пароля. \n\nЕсли вы потеряете пароль, вы не сможете восстановить ваш ключ.</string>
<string name="encrypt_and_copy_my_secret_key">Зашифровать и скопировать секретный ключ</string>
<string name="badge_award_image_for">Картинка значка-награды %1$s</string>
<string name="badge_award_image">Изображение награды за значок</string>
<string name="new_badge_award_notif">Вы получили в награду новый значок</string>
@@ -2058,7 +2054,6 @@
<string name="copied_note_text_to_clipboard">Копировать текст</string>
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="copied_user_id_to_clipboard">ID (npub) автора скопирован</string>
<string name="copy_my_secret_key">Скопировать мой приватный ключ</string>
<string name="copy_to_clipboard">Копировать в буфер обмена</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Не удалось собрать LNUrl из Lightning Address «%1$s». Проверьте настройки пользователя</string>
<string name="could_not_check_downloaded_file">Не удалось проверить загруженный файл после выгрузки: %1$s</string>
@@ -2935,10 +2930,8 @@
<string name="share_hls_video">Загрузка HLS</string>
<string name="share_or_save">Поделиться или сохранить</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Показать QR-код зашифрованного приватного ключа</string>
<string name="show_messages_in_notifications_setting_description">Включить личные и групповые сообщения во вкладку «Уведомления». Отключите, чтобы сообщения отображались только во вкладке «Сообщения».</string>
<string name="show_messages_in_notifications_setting_title">Показывать сообщения</string>
<string name="show_private_key_qr_code">Показать QR-код приватного ключа</string>
<string name="sign_request_rejected2">Запрос на подпись отклонён</string>
<string name="sign_request_rejected_description">Убедитесь, что приложение подписи авторизовало эту транзакцию</string>
<string name="signer_illegal_state_exception_description">Внешний подписант вернул неожиданный ответ на запрос. Возможно, ошибка в Amethyst или в приложении подписи.</string>
@@ -363,7 +363,6 @@
<string name="relays"> Releji</string>
<string name="website">Spletna stran</string>
<string name="lightning_address">Lightning naslov</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopira Nsec ID (tvoje geslo) v odložišče za varnostno kopiranje</string>
<string name="send_a_direct_message">Pošlji direktno sporočilo</string>
<string name="edits_the_user_s_metadata">Uredi uporabnikove metapodatke</string>
<string name="unblock">Deblokiraj</string>
@@ -472,14 +471,11 @@
<string name="mark_all_known_as_read">Označi vse znane kot prebrane</string>
<string name="mark_all_new_as_read">Označi vse nove kot prebrane</string>
<string name="mark_all_as_read">Označi vse kot prebrane</string>
<string name="account_backup_tips2_md">## Varnostna kopija ključev in varnostni nasveti \n\nVaš račun je zaščiten z privatnim ključem. Ta ključ ima dolgo sekvenco znakov kateri se začnejo z **nsec1**. Kdorkoli ima dostop, do tega privatnega ključa, lahko pošiljajo zapiske in spremenijo vašo digitalno identiteto. \n\n- Nikoli in **Nikdar** ne vpisuj svojega privatnega ključa v spletne strani in aplikacije katerim ne zaupaš. \n- Amethyst ustvarjalci vas ne bojo **nikoli** vprašali po vašem privatnem ključu. \n- Ustvari **varnostno kopijo** svojega privatnega ključa, za obnovitev računa. Priporoča se uporaba upravljalnika gesel.</string>
<string name="account_backup_tips3_md">Za dodatno varnost, lahko šifriraš svoj ključ z dodatnim geslom. Ta ključ se začne z **ncryptsec1** in ne more bit uporabljen brez dodatnega gesla. \n\nČe izgubiš geslo, obnova ključa ni več mogoča.</string>
<string name="backup_keys_nudge_title">Varno shrani ključe</string>
<string name="backup_keys_nudge_body">Vaš zasebni ključ je edini način za dostop do tega računa. Če ga izgubite, ga ne boste mogli več obnoviti. Shranite ga na varno mesto.</string>
<string name="backup_keys_nudge_backup_now">Varno shrani zdaj</string>
<string name="backup_keys_nudge_already_saved">shranjeno</string>
<string name="backup_keys_nudge_dismiss">Opusti</string>
<string name="encrypt_and_copy_my_secret_key">Šifriraj in kopiraj moj privatni ključ</string>
<string name="badge_award_image_for">Slika nagradne značke za %1$s</string>
<string name="badge_award_image">"Slika nagradne značke</string>
<string name="new_badge_award_notif">Prejel/a si novo nagradno značko</string>
@@ -3316,7 +3312,6 @@
<string name="copied_note_text_to_clipboard">Tekst zapiska kopiran v odložišče</string>
<string name="copied_to_clipboard">Kopirano v odložišče</string>
<string name="copied_user_id_to_clipboard">Avtorjev @npub kopiran v odložišče</string>
<string name="copy_my_secret_key">Kopiraj moj privatni ključ</string>
<string name="copy_to_clipboard">Kopiraj v odložišče</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Ni bilo mogoče sestaviti LNUrl iz "lightning" naslova '%1$s'. Preverite uporabnikove nastavitve</string>
<string name="could_not_check_downloaded_file">Ni bilo mogoče preveriti prenesene datoteke po nalaganju: %1$s</string>
@@ -4844,10 +4839,8 @@
<string name="share_hls_video">Naloži HLS</string>
<string name="share_or_save">Deli ali shrani</string>
<string name="shorts">Kratki posnetki</string>
<string name="show_encrypted_private_key_qr_code">Pokaži QR kodo šifriranega zasebnega ključa</string>
<string name="show_messages_in_notifications_setting_description">V zavihek Obvestila vključite neposredna in skupinska sporočila. Izklopite, če želite sporočila ohraniti samo v zavihku Sporočila.</string>
<string name="show_messages_in_notifications_setting_title">Prikaži sporočilo</string>
<string name="show_private_key_qr_code">Pokaži QR kodo zasebnega ključa</string>
<string name="sign_request_rejected2">Zahteva za vpis zavrnjena</string>
<string name="sign_request_rejected_description">Prepričajte se, da je aplikacija za podpisovanje odobrila to transakcijo</string>
<string name="signer_illegal_state_exception_description">Zunanji podpisnik je vrnil neobičajen odgovor. Morda gre za napako v aplikaciji Amethyst ali v podpisniku.</string>
@@ -216,7 +216,6 @@
<string name="relays"> Relay-ovi</string>
<string name="website">Veb stranica</string>
<string name="lightning_address">Lightning adresa</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopira Nsec ID (vaša lozinka) u međuspremnik radi rezervne kopije</string>
<string name="send_a_direct_message">Pošalji direktnu poruku</string>
<string name="edits_the_user_s_metadata">Izmeni metapodatke korisnika</string>
<string name="unblock">Odblokiraj</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">Označi sve poznate kao pročitano</string>
<string name="mark_all_new_as_read">Označi sve novo kao pročitano</string>
<string name="mark_all_as_read">Označi sve kao pročitano</string>
<string name="account_backup_tips2_md">## Saveti za bekap ključa i bezbednost \n\nVaš nalog je zaštićen tajnim ključem. Ključ je dugačak niz znakova koji počinje sa **nsec1**. Svako ko ima pristup ovom tajnom ključu može da objavljuje i menja vaš identitet. \n\n- **Ne** unosite vaš tajni ključ ni na jedan veb-sajt ili softver kojemu ne verujete. \n- Amethyst programeri **nikada** neće tražiti vaš tajni ključ. \n- **Čuvajte** bezbednu kopiju vašeg tajnog ključa radi oporavka naloga. Preporučujemo korišćenje menadžera lozinki.</string>
<string name="account_backup_tips3_md">Za dodatnu bezbednost, možete šifrovati vaš ključ lozinkom. Ovaj ključ počinje sa **ncryptsec1** i ne može se koristiti bez vaše lozinke. \n\nAko izgubite lozinku, nećete moći da obnovite ključ.</string>
<string name="encrypt_and_copy_my_secret_key">Šifruj i kopiraj moj tajni ključ</string>
<string name="badge_award_image_for">Slika značke za %1$s</string>
<string name="badge_award_image">"Slika značke</string>
<string name="new_badge_award_notif">Dobili ste novu značku</string>
@@ -1997,7 +1993,6 @@
<string name="copied_note_text_to_clipboard">Tekst beleške kopiran u clipboard</string>
<string name="copied_to_clipboard">Kopirano u privremenu memoriju</string>
<string name="copied_user_id_to_clipboard">@npub autora kopiran u clipboard</string>
<string name="copy_my_secret_key">Kopiraj moj tajni ključ</string>
<string name="copy_to_clipboard">Kopiraj u privremenu memoriju</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nije moguće sastaviti LNUrl iz Lightning adrese "%1$s". Proverite podešavanja korisnika</string>
<string name="could_not_check_downloaded_file">Preuzeta datoteka se ne može proveriti nakon otpremanja: %1$s</string>
@@ -2820,10 +2815,8 @@
<string name="share_hls_video">HLS otpremanje</string>
<string name="share_or_save">Podeli ili sačuvaj</string>
<string name="shorts">Kratki snimci</string>
<string name="show_encrypted_private_key_qr_code">Prikaži QR kod šifrovanog privatnog ključa</string>
<string name="show_messages_in_notifications_setting_description">Uključi direktne i grupne poruke na kartici Obaveštenja. Isključite da poruke budu samo na kartici Poruke.</string>
<string name="show_messages_in_notifications_setting_title">Prikaži poruke</string>
<string name="show_private_key_qr_code">Prikaži QR kod privatnog ključa</string>
<string name="sign_request_rejected2">Zahtev za potpisivanje odbijen</string>
<string name="sign_request_rejected_description">Proverite da li je aplikacija za potpisivanje odobrila ovu transakciju</string>
<string name="signer_illegal_state_exception_description">Spoljni potpisnik je vratio podatke koji su neočekivani za zahtev. Možda postoji greška u Amethyst-u ili aplikaciji za potpisivanje.</string>
@@ -545,7 +545,6 @@
<string name="relays"> Reläer</string>
<string name="website">Websida</string>
<string name="lightning_address">Lightning Adress</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopierar Nsec ID (ditt lösenord) till urklipp för säkerhetskopiering</string>
<string name="send_a_direct_message">Skicka ett direkt meddelande</string>
<string name="edits_the_user_s_metadata">Redigerar användarens metadata</string>
<string name="unblock">Sluta blockera</string>
@@ -654,14 +653,11 @@
<string name="mark_all_known_as_read">Markera alla kända som lästa</string>
<string name="mark_all_new_as_read">Markera alla nya som lästa</string>
<string name="mark_all_as_read">Markera allt som läst</string>
<string name="account_backup_tips2_md">## Nyckelsäkerhetsråd \n\nDitt konto är säkrat med en hemlig nyckel. Nyckeln är en lång följd av tecken som börjar med **nsec1**. Den som har tillgång till denna hemliga nyckel kan posta och ändra din identitet. \n\n- **Lägg inte** din hemliga nyckel på någon webbplats eller i någon mjukvara som du inte litar på. \n- Utvecklarna av Amethyst kommer **aldrig** att be om din hemliga nyckel. \n- **Spara** en säkerhetskopia av din hemliga nyckel för återställning av kontot. Vi rekommenderar att du använder en lösenordshanterare.</string>
<string name="account_backup_tips3_md">För extra säkerhet kan du kryptera din nyckel med ett lösenord. Denna nyckel börjar med **ncryptsec1** och kan inte användas utan ditt lösenord. \n\nOm du tappar bort ditt lösenord kommer du inte att kunna återställa din nyckel.</string>
<string name="backup_keys_nudge_title">Säkerhetskopiera dina nycklar</string>
<string name="backup_keys_nudge_body">Din hemliga nyckel är enda sättet att komma åt det här kontot. Om du förlorar den kan den aldrig återskapas. Spara den på ett säkert ställe nu.</string>
<string name="backup_keys_nudge_backup_now">Säkerhetskopiera nu</string>
<string name="backup_keys_nudge_already_saved">Jag har sparat dem</string>
<string name="backup_keys_nudge_dismiss">Avfärda</string>
<string name="encrypt_and_copy_my_secret_key">Kryptera och kopiera min hemliga nyckel</string>
<string name="badge_award_image_for">Tilldelad Badge för %1$s</string>
<string name="badge_award_image">Bild på utmärkelse</string>
<string name="new_badge_award_notif">Du har blivit tilldelad en ny Badge</string>
@@ -3577,7 +3573,6 @@
<string name="copied_note_text_to_clipboard">Kopierade anteckningstext till urklipp</string>
<string name="copied_to_clipboard">Kopierat till urklipp</string>
<string name="copied_user_id_to_clipboard">Kopierade författarens @npub till urklipp</string>
<string name="copy_my_secret_key">Kopiera min hemliga nyckel</string>
<string name="copy_to_clipboard">Kopiera till Urklipp</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Kunde inte montera LNUrl från Lightning Address "%1$s". Kontrollera användarens konfiguration</string>
<string name="could_not_check_downloaded_file">Kunde inte kontrollera nedladdad fil efter uppladdning: %1$s</string>
@@ -5040,10 +5035,8 @@
<string name="share_hls_video">HLS-uppladdning</string>
<string name="share_or_save">Dela eller Spara</string>
<string name="shorts">Kortfilmer</string>
<string name="show_encrypted_private_key_qr_code">Visa QR-kod för krypterad privat nyckel</string>
<string name="show_messages_in_notifications_setting_description">Inkludera direktmeddelanden och gruppmeddelanden på fliken Aviseringar. Stäng av för att hålla meddelanden enbart på fliken Meddelanden.</string>
<string name="show_messages_in_notifications_setting_title">Visa meddelanden</string>
<string name="show_private_key_qr_code">Visa QR-kod för privat nyckel</string>
<string name="sign_request_rejected2">Signeringsförfrågan avvisad</string>
<string name="sign_request_rejected_description">Kontrollera att signeringsprogrammet har godkänt denna transaktion</string>
<string name="signer_illegal_state_exception_description">Extern signatär returnerade data som är ovanliga för begäran. Det kan finnas en bugg i antingen Amethyst eller signatären.</string>
@@ -213,7 +213,6 @@
<string name="number_reports">%1$s Ripoti</string>
<string name="website">Tovuti</string>
<string name="lightning_address">Anwani ya Umeme</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Hunakili Kitambulisho cha Nsec (nywila yako) kwenye ubao wa kunakili kwa ajili ya nakala rudufu</string>
<string name="send_a_direct_message">Tuma Ujumbe wa Moja kwa Moja</string>
<string name="edits_the_user_s_metadata">Huhariri Metadata ya Mtumiaji</string>
<string name="unblock">Fungua</string>
@@ -268,9 +267,6 @@
<string name="mark_all_known_as_read">Funga kama Zimejulikana</string>
<string name="mark_all_new_as_read">Funga kama Mpya</string>
<string name="mark_all_as_read">Funga kama Zimejulikana</string>
<string name="account_backup_tips2_md">## Vidokezo vya Nakala Rudufu ya Ufunguo na Usalama \n\nAkaunti yako inalindwa na ufunguo wa siri. Ufunguo ni mfululizo mrefu wa herufi unaoanza na **nsec1**. Mtu yeyote anayepata ufunguo huu wa siri anaweza kuchapisha na kubadilisha utambulisho wako. \n\n- **Usiweke** ufunguo wako wa siri katika tovuti yoyote au programu unayoitembelewa. \n- Watengenezaji wa Amethyst **hawatawahi** kuomba ufunguo wako wa siri. \n- **Hifadhi** nakala salama ya ufunguo wako wa siri kwa ajili ya kurejesha akaunti. Tunapendekeza kutumia kidhibiti cha nenosiri.</string>
<string name="account_backup_tips3_md">Kwa usalama zaidi, unaweza kusimba ufunguo wako kwa nenosiri. Ufunguo huu unaanza na **ncryptsec1** na hauwezi kutumika bila nenosiri lako. \n\nUkipoteza nenosiri lako, hutaweza kurejesha ufunguo wako.</string>
<string name="encrypt_and_copy_my_secret_key">Simba na nakili ufunguo wangu wa siri</string>
<string name="badge_award_image_for">Picha ya tuzo ya alama kwa %1$s</string>
<string name="badge_award_image">"Picha ya tuzo ya beji</string>
<string name="new_badge_award_notif">Umepokea Tuzo Mpya ya Alama</string>
@@ -1999,7 +1995,6 @@
<string name="copied_note_text_to_clipboard">Maudhui ya dokezo yamenakiliwa kwenye ubao wa kunakili</string>
<string name="copied_to_clipboard">Imenakiliwa kwenye ubao wa kunakili</string>
<string name="copied_user_id_to_clipboard">Imesakinishwa @npub ya mwandishi kwa ubao wa kunakili</string>
<string name="copy_my_secret_key">Nakili Ufunguo Wangu wa Siri</string>
<string name="copy_to_clipboard">Nakili kwenye ubao wa kunakili</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Haikuweza kuunda LNUrl kutoka kwa Anwani ya Lightning "%1$s". Angalia mpangilio wa mtumiaji</string>
<string name="could_not_check_downloaded_file">Haikuweza kukagua faili lililопakuliwa baada ya kupakia: %1$s</string>
@@ -2795,10 +2790,8 @@
<string name="share_hls_video">Pakia HLS</string>
<string name="share_or_save">Shiriki au Hifadhi</string>
<string name="shorts">Mafupi</string>
<string name="show_encrypted_private_key_qr_code">Onyesha msimbo wa QR wa ufunguo wa siri uliofichwa</string>
<string name="show_messages_in_notifications_setting_description">Jumuisha ujumbe wa moja kwa moja na wa kikundi kwenye kichupo cha Arifa. Zima ili kuweka ujumbe kwenye kichupo cha Ujumbe pekee.</string>
<string name="show_messages_in_notifications_setting_title">Onyesha Ujumbe</string>
<string name="show_private_key_qr_code">Onyesha msimbo wa QR wa ufunguo wa siri</string>
<string name="sign_request_rejected2">Ombi la kusaini limekataliwa</string>
<string name="sign_request_rejected_description">Hakikisha programu ya kusaini imeidhinisha muamala huu</string>
<string name="signer_illegal_state_exception_description">Msimamizi wa nje alirejesha data ya ajabu kwa ombi hili. Huenda kuna hitilafu katika Amethyst au Msimamizi.</string>
@@ -217,7 +217,6 @@
<string name="relays"> ரிலேகள்</string>
<string name="website">இணையதளம்</string>
<string name="lightning_address">லைட்னிங் முகவரி</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Nsec IDயை (உங்கள் கடவுச்சொல்) காப்புப்பிரதிக்காக கிளிப்போர்டுக்கு நகலெடுக்கிறது</string>
<string name="send_a_direct_message">நேரடிச் செய்தியை அனுப்பு</string>
<string name="edits_the_user_s_metadata">பயனரின் தகவலை திருத்துகிறது</string>
<string name="unblock">தடையை நீக்கு</string>
@@ -272,9 +271,6 @@
<string name="mark_all_known_as_read">தெரிந்தவற்றைப் படித்ததாகக் குறி</string>
<string name="mark_all_new_as_read">புதியனவற்றைப் படித்ததாகக் குறி</string>
<string name="mark_all_as_read">அனைத்தையும் படித்ததாகக் குறி</string>
<string name="account_backup_tips2_md">## திறவுகோல் காப்புப்பிரதி மற்றும் பாதுகாப்பு குறிப்புகள் \n\nஉங்கள் கணக்கு ஒரு இரகசிய திறவுகோலால் பாதுகாக்கப்படுகிறது. இந்த திறவுகோல் **nsec1** என்று தொடங்கும் நீண்ட எழுத்துத் தொடராகும். இந்த இரகசிய திறவுகோலை யாராவது பெற்றால் அவர்கள் உங்கள் அடையாளத்தை பயன்படுத்தி இடுகையிடலாம் மற்றும் மாற்றலாம். \n\n- உங்கள் இரகசிய திறவுகோலை நீங்கள் நம்பாத எந்த வலைத்தளத்திலும் அல்லது மென்பொருளிலும் வைக்க **வேண்டாம்**. \n- Amethyst டெவலப்பர்கள் உங்கள் இரகசிய திறவுகோலை **ஒருபோதும்** கேட்கமாட்டார்கள். \n- கணக்கு மீட்டெடுப்புக்காக உங்கள் இரகசிய திறவுகோலை பாதுகாப்பாக காப்புப்பிரதி எடுங்கள். கடவுச்சொல் மேலாளரை பயன்படுத்த பரிந்துரைக்கிறோம்.</string>
<string name="account_backup_tips3_md">கூடுதல் பாதுகாப்புக்காக, உங்கள் திறவுகோலை கடவுச்சொல்லால் குறியாக்கலாம். இந்த திறவுகோல் **ncryptsec1** என்று தொடங்கும் மற்றும் உங்கள் கடவுச்சொல்லின்றி பயன்படுத்த முடியாது. \n\nகடவுச்சொல்லை மறந்தால், உங்கள் திறவுகோலை மீட்டெடுக்க முடியாது.</string>
<string name="encrypt_and_copy_my_secret_key">என் இரகசிய விசையை மறைகுறியாக்கி நகல் எடுக்கவும்</string>
<string name="badge_award_image_for">%1$s க்கான பேட்ஜ் விருது படம்</string>
<string name="badge_award_image">"பேட்ஜ் விருது படம்</string>
<string name="new_badge_award_notif">நீங்கள் ஒரு புதிய பேட்ஜ் விருதைப் பெற்றீர்கள்</string>
@@ -1999,7 +1995,6 @@
<string name="copied_note_text_to_clipboard">குறிப்பு கிளிப்போர்டுக்கு நகலெடுக்கப் பட்டது</string>
<string name="copied_to_clipboard">கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது</string>
<string name="copied_user_id_to_clipboard">கிளிப்போர்டுக்கு எழுத்தாளரின் @npub நகலெடுக்கப் பட்டது</string>
<string name="copy_my_secret_key">எனது ரகசிய சாவியை நகலெடுக்கவும்</string>
<string name="copy_to_clipboard">கிளிப்போர்டுக்கு நகலெடு</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning முகவரி "%1$s" இலிருந்து LNUrl ஐ உருவாக்க முடியவில்லை. பயனரின் அமைப்பை சரிபார்க்கவும்</string>
<string name="could_not_check_downloaded_file">பதிவேற்றத்திற்குப் பிறகு பதிவிறக்கிய கோப்பை சரிபார்க்க முடியவில்லை: %1$s</string>
@@ -2784,10 +2779,8 @@
<string name="share_hls_video">HLS பதிவேற்றம்</string>
<string name="share_or_save">பகிர் அல்லது சேமி</string>
<string name="shorts">குறுவீடியோக்கள்</string>
<string name="show_encrypted_private_key_qr_code">மறைகுறியாக்கப்பட்ட தனிப்பட்ட விசை QR குறியீட்டை காட்டு</string>
<string name="show_messages_in_notifications_setting_description">அறிவிப்பு தாவலில் நேரடி மற்றும் குழு செய்திகளை சேர்க்கவும். செய்திகளை செய்திகள் தாவலில் மட்டும் வைக்க அணைக்கவும்.</string>
<string name="show_messages_in_notifications_setting_title">செய்திகளை காட்டு</string>
<string name="show_private_key_qr_code">தனிப்பட்ட விசை QR குறியீட்டை காட்டு</string>
<string name="sign_request_rejected2">கையொப்பமிடல் கோரிக்கை நிராகரிக்கப்பட்டது</string>
<string name="sign_request_rejected_description">கையொப்பமிடல் செயலி இந்த பரிவர்த்தனையை அங்கீகரித்திருக்கிறதா என சரிபார்க்கவும்</string>
<string name="signer_illegal_state_exception_description">வெளிப்புற கையெழுத்திட்டவர் கோரிக்கைக்கு அசாதாரணமான தரவை திரும்ப அனுப்பியது. Amethyst அல்லது கையெழுத்திட்டவரில் ஒரு பிழை இருக்கலாம்.</string>
@@ -204,7 +204,6 @@
<string name="relays"> ரிலேகள்</string>
<string name="website">இணையதளம்</string>
<string name="lightning_address">லைட்னிங் முகவரி</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Nsec IDயை (உங்கள் கடவுச்சொல்) காப்புப்பிரதிக்காக கிளிப்போர்டுக்கு நகலெடுக்கிறது</string>
<string name="send_a_direct_message">நேரடிச் செய்தியை அனுப்பு</string>
<string name="edits_the_user_s_metadata">பயனரின் தகவலை திருத்துகிறது</string>
<string name="unblock">தடையை நீக்கு</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">தெரிந்தவற்றைப் படித்ததாகக் குறி</string>
<string name="mark_all_new_as_read">புதியனவற்றைப் படித்ததாகக் குறி</string>
<string name="mark_all_as_read">அனைத்தையும் படித்ததாகக் குறி</string>
<string name="account_backup_tips2_md">## திறவுகோல் காப்புப்பிரதி மற்றும் பாதுகாப்பு குறிப்புகள் \n\nஉங்கள் கணக்கு ஒரு இரகசிய திறவுகோலால் பாதுகாக்கப்படுகிறது. இந்த திறவுகோல் **nsec1** என்று தொடங்கும் நீண்ட எழுத்துத் தொடராகும். இந்த இரகசிய திறவுகோலை யாராவது பெற்றால் அவர்கள் உங்கள் அடையாளத்தை பயன்படுத்தி இடுகையிடலாம் மற்றும் மாற்றலாம். \n\n- உங்கள் இரகசிய திறவுகோலை நீங்கள் நம்பாத எந்த வலைத்தளத்திலும் அல்லது மென்பொருளிலும் வைக்க **வேண்டாம்**. \n- Amethyst டெவலப்பர்கள் உங்கள் இரகசிய திறவுகோலை **ஒருபோதும்** கேட்கமாட்டார்கள். \n- கணக்கு மீட்டெடுப்புக்காக உங்கள் இரகசிய திறவுகோலை பாதுகாப்பாக காப்புப்பிரதி எடுங்கள். கடவுச்சொல் மேலாளரை பயன்படுத்த பரிந்துரைக்கிறோம்.</string>
<string name="account_backup_tips3_md">கூடுதல் பாதுகாப்புக்காக, உங்கள் திறவுகோலை கடவுச்சொல்லால் குறியாக்கலாம். இந்த திறவுகோல் **ncryptsec1** என்று தொடங்கும் மற்றும் உங்கள் கடவுச்சொல்லின்றி பயன்படுத்த முடியாது. \n\nகடவுச்சொல்லை மறந்தால், உங்கள் திறவுகோலை மீட்டெடுக்க முடியாது.</string>
<string name="encrypt_and_copy_my_secret_key">என் இரகசிய விசையை மறைகுறியாக்கி நகல் எடுக்கவும்</string>
<string name="badge_award_image_for">%1$s க்கான பேட்ஜ் விருது படம்</string>
<string name="badge_award_image">"பேட்ஜ் விருது படம்</string>
<string name="new_badge_award_notif">நீங்கள் ஒரு புதிய பேட்ஜ் விருதைப் பெற்றீர்கள்</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">குறிப்பு கிளிப்போர்டுக்கு நகலெடுக்கப் பட்டது</string>
<string name="copied_to_clipboard">கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது</string>
<string name="copied_user_id_to_clipboard">கிளிப்போர்டுக்கு எழுத்தாளரின் @npub நகலெடுக்கப் பட்டது</string>
<string name="copy_my_secret_key">எனது ரகசிய சாவியை நகலெடுக்கவும்</string>
<string name="copy_to_clipboard">கிளிப்போர்டுக்கு நகலெடு</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning முகவரி "%1$s" இலிருந்து LNUrl ஐ உருவாக்க முடியவில்லை. பயனரின் அமைப்பை சரிபார்க்கவும்</string>
<string name="could_not_check_downloaded_file">பதிவேற்றத்திற்குப் பிறகு பதிவிறக்கிய கோப்பை சரிபார்க்க முடியவில்லை: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">HLS பதிவேற்றம்</string>
<string name="share_or_save">பகிர் அல்லது சேமி</string>
<string name="shorts">குறுவீடியோக்கள்</string>
<string name="show_encrypted_private_key_qr_code">மறைகுறியாக்கப்பட்ட தனிப்பட்ட விசை QR குறியீட்டை காட்டு</string>
<string name="show_messages_in_notifications_setting_description">அறிவிப்பு தாவலில் நேரடி மற்றும் குழு செய்திகளை சேர்க்கவும். செய்திகளை செய்திகள் தாவலில் மட்டும் வைக்க அணைக்கவும்.</string>
<string name="show_messages_in_notifications_setting_title">செய்திகளை காட்டு</string>
<string name="show_private_key_qr_code">தனிப்பட்ட விசை QR குறியீட்டை காட்டு</string>
<string name="sign_request_rejected2">கையொப்பமிடல் கோரிக்கை நிராகரிக்கப்பட்டது</string>
<string name="sign_request_rejected_description">கையொப்பமிடல் செயலி இந்த பரிவர்த்தனையை அங்கீகரித்திருக்கிறதா என சரிபார்க்கவும்</string>
<string name="signer_illegal_state_exception_description">வெளிப்புற கையெழுத்திட்டவர் கோரிக்கைக்கு அசாதாரணமான தரவை திரும்ப அனுப்பியது. Amethyst அல்லது கையெழுத்திட்டவரில் ஒரு பிழை இருக்கலாம்.</string>
@@ -215,7 +215,6 @@
<string name="relays"> รีเลย์</string>
<string name="website">เว็บไซต์</string>
<string name="lightning_address">ไม่ได้ตั้งค่า Lightning Address</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">คัดลอก Nsec ID (รหัสผ่านของคุณ) ลงคลิปบอร์ดเพื่อสำรองข้อมูล</string>
<string name="send_a_direct_message">ส่งข้อความส่วนตัว</string>
<string name="edits_the_user_s_metadata">แก้ไข the User's Metadata</string>
<string name="unblock">เลิกบล๊อก</string>
@@ -269,9 +268,6 @@
<string name="mark_all_known_as_read">ทำเครื่องหมายอ่านแล้วในแชทที่รู้จักทั้งหมด</string>
<string name="mark_all_new_as_read">ทำเครื่องหมายว่าอ่านแล้วทั้งหมดสำหรับข้อความใหม่</string>
<string name="mark_all_as_read">ทพเครื่องหมายว่าอ่านแล้วทั้งหมด</string>
<string name="account_backup_tips2_md">## เคล็ดลับการสำรองข้อมูลและความปลอดภัยที่สำคัญ \n\nบัญชีของคุณได้รับการรักษาความปลอดภัยด้วยคีย์ลับ คีย์เป็นรหัสชุดตัวอักษรยาวขึ้นต้นด้วย **nsec1** ใครก็ตามที่สามารถเข้าถึงรหัสชุดนี้ได้ จะสามารถโพสต์และเปลี่ยนแปลงข้อมูลประจำตัวของคุณได้ \n\n- **ห้าม** ใส่รหัสชุดนี้ในเว็บไซต์หรือซอฟต์แวร์ที่คุณไม่ไว้ใจ \n- ทีมพัฒนา Amethyst **จะไม่มีวัน** ขอรหัสชุดนี้ของคุณ \n- **ควร** สำรองข้อมูลรหัสชุดนี้ไว้เพื่อกู้คืนบัญชีของคุณ เราแนะนำให้ใช้โปรแกรมจัดการรหัสผ่าน</string>
<string name="account_backup_tips3_md">สำหรับการรักษาความปลอดภัยเพิ่มเติม คุณสามารถเข้ารหัสคีย์ของคุณด้วยรหัสผ่าน คีย์นี้ขึ้นต้นด้วย **ncryptsec1** และไม่สามารถใช้งานได้หากไม่มีรหัสผ่านของคุณ \n\n**แต่** หากคุณสูญหายรหัสผ่าน คุณจะไม่สามารถกู้คืนคีย์ของคุณได้</string>
<string name="encrypt_and_copy_my_secret_key">เข้ารหัสและคัดลอกคีย์ความปลอดภัยของฉัน</string>
<string name="badge_award_image_for">ภาพเหรียญตราสําหรับ %1$s</string>
<string name="badge_award_image">"รูปภาพรางวัลป้าย</string>
<string name="new_badge_award_notif">คุณได้รับเหรียญตราใหม่</string>
@@ -1972,7 +1968,6 @@
<string name="copied_note_text_to_clipboard">คัดลอกข่้อความในโน้ตลงคลิปบอร์ด</string>
<string name="copied_to_clipboard">คัดลอกไปยังคลิปบอร์ดแล้ว</string>
<string name="copied_user_id_to_clipboard">คัดลอก @npub ของผู้เขียนลงคลิปบอร์ด</string>
<string name="copy_my_secret_key">คัดลอก secret key ของฉัน</string>
<string name="copy_to_clipboard">คัดลอก</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">ไม่สามารถสร้าง LNUrl จากที่อยู่ Lightning ได้ "%1$s" โปรดตรวจสอบการตั้งค่า</string>
<string name="could_not_check_downloaded_file">ไม่สามารถตรวจสอบไฟล์ที่ดาวน์โหลดหลังจากอัปโหลด: %1$s</string>
@@ -2624,10 +2619,8 @@
<string name="share_as_image_url">แชร์เป็น URL รูปภาพ</string>
<string name="share_hls_video">อัปโหลด HLS</string>
<string name="share_or_save">แชร์ หรือเก็บไว้</string>
<string name="show_encrypted_private_key_qr_code">แสดง QR code คีย์ส่วนตัวแบบเข้ารหัส</string>
<string name="show_messages_in_notifications_setting_description">รวมข้อความส่วนตัวและกลุ่มในแท็บการแจ้งเตือน ปิดเพื่อเก็บข้อความไว้เฉพาะในแท็บข้อความ</string>
<string name="show_messages_in_notifications_setting_title">แสดงข้อความ</string>
<string name="show_private_key_qr_code">แสดง QR code คีย์ส่วนตัว</string>
<string name="sign_request_rejected2">คำขอลงชื่อถูกปฏิเสธ</string>
<string name="sign_request_rejected_description">โปรดตรวจสอบให้แน่ใจว่าแอพเข้ารหัส หรือ Signer ได้อนุญาติทำรายการนี้</string>
<string name="signer_illegal_state_exception_description">ผู้ลงนามภายนอกส่งคืนข้อมูลที่ผิดปกติสำหรับคำขอนี้ อาจมีข้อผิดพลาดใน Amethyst หรือแอปผู้ลงนาม</string>
@@ -202,7 +202,6 @@
<string name="relays"> รีเลย์</string>
<string name="website">เว็บไซต์</string>
<string name="lightning_address">ไม่ได้ตั้งค่า Lightning Address</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">คัดลอก Nsec ID (รหัสผ่านของคุณ) ลงคลิปบอร์ดเพื่อสำรองข้อมูล</string>
<string name="send_a_direct_message">ส่งข้อความส่วนตัว</string>
<string name="edits_the_user_s_metadata">แก้ไข the User's Metadata</string>
<string name="unblock">เลิกบล๊อก</string>
@@ -257,9 +256,6 @@
<string name="mark_all_known_as_read">ทำเครื่องหมายอ่านแล้วในแชทที่รู้จักทั้งหมด</string>
<string name="mark_all_new_as_read">ทำเครื่องหมายว่าอ่านแล้วทั้งหมดสำหรับข้อความใหม่</string>
<string name="mark_all_as_read">ทพเครื่องหมายว่าอ่านแล้วทั้งหมด</string>
<string name="account_backup_tips2_md">## เคล็ดลับการสำรองข้อมูลและความปลอดภัยที่สำคัญ \n\nบัญชีของคุณได้รับการรักษาความปลอดภัยด้วยคีย์ลับ คีย์เป็นรหัสชุดตัวอักษรยาวขึ้นต้นด้วย **nsec1** ใครก็ตามที่สามารถเข้าถึงรหัสชุดนี้ได้ จะสามารถโพสต์และเปลี่ยนแปลงข้อมูลประจำตัวของคุณได้ \n\n- **ห้าม** ใส่รหัสชุดนี้ในเว็บไซต์หรือซอฟต์แวร์ที่คุณไม่ไว้ใจ \n- ทีมพัฒนา Amethyst **จะไม่มีวัน** ขอรหัสชุดนี้ของคุณ \n- **ควร** สำรองข้อมูลรหัสชุดนี้ไว้เพื่อกู้คืนบัญชีของคุณ เราแนะนำให้ใช้โปรแกรมจัดการรหัสผ่าน</string>
<string name="account_backup_tips3_md">สำหรับการรักษาความปลอดภัยเพิ่มเติม คุณสามารถเข้ารหัสคีย์ของคุณด้วยรหัสผ่าน คีย์นี้ขึ้นต้นด้วย **ncryptsec1** และไม่สามารถใช้งานได้หากไม่มีรหัสผ่านของคุณ \n\n**แต่** หากคุณสูญหายรหัสผ่าน คุณจะไม่สามารถกู้คืนคีย์ของคุณได้</string>
<string name="encrypt_and_copy_my_secret_key">เข้ารหัสและคัดลอกคีย์ความปลอดภัยของฉัน</string>
<string name="badge_award_image_for">ภาพเหรียญตราสําหรับ %1$s</string>
<string name="badge_award_image">"รูปภาพรางวัลป้าย</string>
<string name="new_badge_award_notif">คุณได้รับเหรียญตราใหม่</string>
@@ -2028,7 +2024,6 @@
<string name="copied_note_text_to_clipboard">คัดลอกข่้อความในโน้ตลงคลิปบอร์ด</string>
<string name="copied_to_clipboard">คัดลอกไปยังคลิปบอร์ดแล้ว</string>
<string name="copied_user_id_to_clipboard">คัดลอก @npub ของผู้เขียนลงคลิปบอร์ด</string>
<string name="copy_my_secret_key">คัดลอก secret key ของฉัน</string>
<string name="copy_to_clipboard">คัดลอก</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">ไม่สามารถสร้าง LNUrl จากที่อยู่ Lightning ได้ "%1$s" โปรดตรวจสอบการตั้งค่า</string>
<string name="could_not_check_downloaded_file">ไม่สามารถตรวจสอบไฟล์ที่ดาวน์โหลดหลังจากอัปโหลด: %1$s</string>
@@ -2827,10 +2822,8 @@
<string name="share_hls_video">อัปโหลด HLS</string>
<string name="share_or_save">แชร์ หรือเก็บไว้</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">แสดง QR code คีย์ส่วนตัวแบบเข้ารหัส</string>
<string name="show_messages_in_notifications_setting_description">รวมข้อความส่วนตัวและกลุ่มในแท็บการแจ้งเตือน ปิดเพื่อเก็บข้อความไว้เฉพาะในแท็บข้อความ</string>
<string name="show_messages_in_notifications_setting_title">แสดงข้อความ</string>
<string name="show_private_key_qr_code">แสดง QR code คีย์ส่วนตัว</string>
<string name="sign_request_rejected2">คำขอลงชื่อถูกปฏิเสธ</string>
<string name="sign_request_rejected_description">โปรดตรวจสอบให้แน่ใจว่าแอพเข้ารหัส หรือ Signer ได้อนุญาติทำรายการนี้</string>
<string name="signer_illegal_state_exception_description">ผู้ลงนามภายนอกส่งคืนข้อมูลที่ผิดปกติสำหรับคำขอนี้ อาจมีข้อผิดพลาดใน Amethyst หรือแอปผู้ลงนาม</string>
@@ -217,7 +217,6 @@
<string name="relays">Relaylar</string>
<string name="website">Web Sitesi</string>
<string name="lightning_address">Lİghtning Adresi</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Yedekleme için Nsec ID'yi (sizin şifreniz) panoya kopyalar</string>
<string name="send_a_direct_message">Direkt Mesaj Gönder</string>
<string name="edits_the_user_s_metadata">Kullanıcının Üstverisini Düzenler</string>
<string name="unblock">Engelleme</string>
@@ -272,9 +271,6 @@
<string name="mark_all_known_as_read">Tüm bilinenleri okundu olarak işaretle</string>
<string name="mark_all_new_as_read">Tüm yenileri okundu olarak işaretle</string>
<string name="mark_all_as_read">Tümünü okundu olarak işaretle</string>
<string name="account_backup_tips2_md">## Anahtar Yedekleme ve Güvenlik İpuçları \n\nHesabınız bir gizli anahtarla korunmaktadır. Anahtar, **nsec1** ile başlayan uzun bir karakter dizisidir. Bu gizli anahtara erişimi olan herkes kimliğiniz adına gönderi yapabilir ve kimliğinizi değiştirebilir. \n\n- Gizli anahtarınızı güvenmediğiniz herhangi bir web sitesine veya yazılıma **koymayın**. \n- Amethyst geliştiricileri gizli anahtarınızı **asla** istemez. \n- Hesap kurtarma için gizli anahtarınızın güvenli bir yedeğini **alın**. Bir parola yöneticisi kullanmanızı öneririz.</string>
<string name="account_backup_tips3_md">Ek güvenlik için anahtarınızı bir parola ile şifreleyebilirsiniz. Bu anahtar **ncryptsec1** ile başlar ve parolanız olmadan kullanılamaz. \n\nParolanızı kaybederseniz anahtarınızı kurtaramazsınız.</string>
<string name="encrypt_and_copy_my_secret_key">Gizli anahtarımı şifrele ve kopyala</string>
<string name="badge_award_image_for">%1$s için rozet ödülü görseli</string>
<string name="badge_award_image">"Rozet ödülü görseli</string>
<string name="new_badge_award_notif">Yeni bir Rozet Ödülü aldınız</string>
@@ -2007,7 +2003,6 @@
<string name="copied_note_text_to_clipboard">Not metni panoya kopyalandı</string>
<string name="copied_to_clipboard">Panoya kopyalandı</string>
<string name="copied_user_id_to_clipboard">Yazarın @npub'ı panoya kopyalandı</string>
<string name="copy_my_secret_key">Gizli anahtarımı kopyala</string>
<string name="copy_to_clipboard">Panoya kopyala</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">"%1$s" Lightning Adresinden LNUrl oluşturulamadı. Kullanıcının kurulumunu kontrol edin</string>
<string name="could_not_check_downloaded_file">Yükleme sonrası indirilen dosya kontrol edilemedi: %1$s</string>
@@ -2789,10 +2784,8 @@
<string name="share_hls_video">HLS Yükle</string>
<string name="share_or_save">Paylaş veya Kaydet</string>
<string name="shorts">Kısa videolar</string>
<string name="show_encrypted_private_key_qr_code">Şifreli özel anahtar QR kodunu göster</string>
<string name="show_messages_in_notifications_setting_description">Bildirim sekmesine doğrudan ve grup mesajlarını dahil et. Mesajları yalnızca Mesajlar sekmesinde tutmak için kapatın.</string>
<string name="show_messages_in_notifications_setting_title">Mesajları Göster</string>
<string name="show_private_key_qr_code">Özel anahtar QR kodunu göster</string>
<string name="sign_request_rejected2">İmza isteği reddedildi</string>
<string name="sign_request_rejected_description">İmzalayıcı uygulamanın bu işlemi yetkilendirdiğinden emin olun</string>
<string name="signer_illegal_state_exception_description">Harici imzalayıcı, istek için beklenmedik bir yük döndürdü. Amethyst veya İmzalayıcıda bir hata olabilir.</string>
@@ -204,7 +204,6 @@
<string name="relays">Relaylar</string>
<string name="website">Web Sitesi</string>
<string name="lightning_address">Lİghtning Adresi</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Yedekleme için Nsec ID'yi (sizin şifreniz) panoya kopyalar</string>
<string name="send_a_direct_message">Direkt Mesaj Gönder</string>
<string name="edits_the_user_s_metadata">Kullanıcının Üstverisini Düzenler</string>
<string name="unblock">Engelleme</string>
@@ -259,9 +258,6 @@
<string name="mark_all_known_as_read">Tüm bilinenleri okundu olarak işaretle</string>
<string name="mark_all_new_as_read">Tüm yenileri okundu olarak işaretle</string>
<string name="mark_all_as_read">Tümünü okundu olarak işaretle</string>
<string name="account_backup_tips2_md">## Anahtar Yedekleme ve Güvenlik İpuçları \n\nHesabınız bir gizli anahtarla korunmaktadır. Anahtar, **nsec1** ile başlayan uzun bir karakter dizisidir. Bu gizli anahtara erişimi olan herkes kimliğiniz adına gönderi yapabilir ve kimliğinizi değiştirebilir. \n\n- Gizli anahtarınızı güvenmediğiniz herhangi bir web sitesine veya yazılıma **koymayın**. \n- Amethyst geliştiricileri gizli anahtarınızı **asla** istemez. \n- Hesap kurtarma için gizli anahtarınızın güvenli bir yedeğini **alın**. Bir parola yöneticisi kullanmanızı öneririz.</string>
<string name="account_backup_tips3_md">Ek güvenlik için anahtarınızı bir parola ile şifreleyebilirsiniz. Bu anahtar **ncryptsec1** ile başlar ve parolanız olmadan kullanılamaz. \n\nParolanızı kaybederseniz anahtarınızı kurtaramazsınız.</string>
<string name="encrypt_and_copy_my_secret_key">Gizli anahtarımı şifrele ve kopyala</string>
<string name="badge_award_image_for">%1$s için rozet ödülü görseli</string>
<string name="badge_award_image">"Rozet ödülü görseli</string>
<string name="new_badge_award_notif">Yeni bir Rozet Ödülü aldınız</string>
@@ -2038,7 +2034,6 @@
<string name="copied_note_text_to_clipboard">Not metni panoya kopyalandı</string>
<string name="copied_to_clipboard">Panoya kopyalandı</string>
<string name="copied_user_id_to_clipboard">Yazarın @npub'ı panoya kopyalandı</string>
<string name="copy_my_secret_key">Gizli anahtarımı kopyala</string>
<string name="copy_to_clipboard">Panoya kopyala</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">"%1$s" Lightning Adresinden LNUrl oluşturulamadı. Kullanıcının kurulumunu kontrol edin</string>
<string name="could_not_check_downloaded_file">Yükleme sonrası indirilen dosya kontrol edilemedi: %1$s</string>
@@ -2863,10 +2858,8 @@
<string name="share_hls_video">HLS Yükle</string>
<string name="share_or_save">Paylaş veya Kaydet</string>
<string name="shorts">Kısa videolar</string>
<string name="show_encrypted_private_key_qr_code">Şifreli özel anahtar QR kodunu göster</string>
<string name="show_messages_in_notifications_setting_description">Bildirim sekmesine doğrudan ve grup mesajlarını dahil et. Mesajları yalnızca Mesajlar sekmesinde tutmak için kapatın.</string>
<string name="show_messages_in_notifications_setting_title">Mesajları Göster</string>
<string name="show_private_key_qr_code">Özel anahtar QR kodunu göster</string>
<string name="sign_request_rejected2">İmza isteği reddedildi</string>
<string name="sign_request_rejected_description">İmzalayıcı uygulamanın bu işlemi yetkilendirdiğinden emin olun</string>
<string name="signer_illegal_state_exception_description">Harici imzalayıcı, istek için beklenmedik bir yük döndürdü. Amethyst veya İmzalayıcıda bir hata olabilir.</string>
@@ -218,7 +218,6 @@
<string name="relays"> Релеїв</string>
<string name="website">Сайт</string>
<string name="lightning_address">Lightning адреса</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Копіює Nsec ID (ваш пароль) для резервного копіювання</string>
<string name="send_a_direct_message">Відправити повідомлення</string>
<string name="edits_the_user_s_metadata">Редагує метадані користувача</string>
<string name="unblock">Розблокувати</string>
@@ -273,9 +272,6 @@
<string name="mark_all_known_as_read">Позначити всі відомі прочитаними</string>
<string name="mark_all_new_as_read">Позначити всі нові прочитаними</string>
<string name="mark_all_as_read">Позначити все прочитаним</string>
<string name="account_backup_tips2_md">## Поради щодо резервного копіювання та безпеки ключа \n\nВаш обліковий запис захищений секретним ключем. Ключ — це довга послідовність символів, що починається з **nsec1**. Будь-хто, хто має доступ до цього секретного ключа, може публікувати та змінювати вашу особу. \n\n- **Не** вводьте свій секретний ключ на жодному сайті чи в програмі, якій ви не довіряєте. \n- Розробники Amethyst **ніколи** не запитуватимуть ваш секретний ключ. \n- **Зробіть** надійне резервне копіювання секретного ключа для відновлення облікового запису. Рекомендуємо використовувати менеджер паролів.</string>
<string name="account_backup_tips3_md">Для додаткової безпеки ви можете зашифрувати ключ паролем. Цей ключ починається з **ncryptsec1** і не може бути використаний без вашого пароля. \n\nЯкщо ви забудете пароль, ви не зможете відновити ключ.</string>
<string name="encrypt_and_copy_my_secret_key">Зашифрувати та скопіювати мій секретний ключ</string>
<string name="badge_award_image_for">Картинка значка-нагороди %1$s</string>
<string name="badge_award_image">"Зображення нагороди значком</string>
<string name="new_badge_award_notif">Ви отримали в нагороду новий значок</string>
@@ -2020,7 +2016,6 @@
<string name="copied_note_text_to_clipboard">Скопіювати текст</string>
<string name="copied_to_clipboard">Скопійовано до буфера обміну</string>
<string name="copied_user_id_to_clipboard">ID (npub) автора скопійовано</string>
<string name="copy_my_secret_key">Скопіювати мій приватний ключ</string>
<string name="copy_to_clipboard">Скопіювати в буфер</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Не вдалося скласти LNUrl з Lightning адреси «%1$s». Перевірте налаштування користувача</string>
<string name="could_not_check_downloaded_file">Не вдалося перевірити завантажений файл після вивантаження: %1$s</string>
@@ -2845,10 +2840,8 @@
<string name="share_as_image">Поділитися як зображення</string>
<string name="share_as_image_url">Поділитися як URL зображення</string>
<string name="share_or_save">Поділитися або зберегти</string>
<string name="show_encrypted_private_key_qr_code">Показати QR-код зашифрованого приватного ключа</string>
<string name="show_messages_in_notifications_setting_description">Включати особисті та групові повідомлення на вкладку «Сповіщення». Вимкніть, щоб залишити повідомлення лише на вкладці «Повідомлення».</string>
<string name="show_messages_in_notifications_setting_title">Показувати повідомлення</string>
<string name="show_private_key_qr_code">Показати QR-код приватного ключа</string>
<string name="sign_request_rejected2">Запит на підписання відхилено</string>
<string name="sign_request_rejected_description">Переконайтеся, що застосунок-підписант авторизував цю транзакцію</string>
<string name="signer_illegal_state_exception_description">Зовнішній підписувач повернув дані, що не відповідають запиту. Можливо, є помилка в Amethyst або підписувачі.</string>
@@ -208,7 +208,6 @@
<string name="relays"> Релеїв</string>
<string name="website">Сайт</string>
<string name="lightning_address">Lightning адреса</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Копіює Nsec ID (ваш пароль) для резервного копіювання</string>
<string name="send_a_direct_message">Відправити повідомлення</string>
<string name="edits_the_user_s_metadata">Редагує метадані користувача</string>
<string name="unblock">Розблокувати</string>
@@ -263,9 +262,6 @@
<string name="mark_all_known_as_read">Позначити всі відомі прочитаними</string>
<string name="mark_all_new_as_read">Позначити всі нові прочитаними</string>
<string name="mark_all_as_read">Позначити все прочитаним</string>
<string name="account_backup_tips2_md">## Поради щодо резервного копіювання та безпеки ключа \n\nВаш обліковий запис захищений секретним ключем. Ключ — це довга послідовність символів, що починається з **nsec1**. Будь-хто, хто має доступ до цього секретного ключа, може публікувати та змінювати вашу особу. \n\n- **Не** вводьте свій секретний ключ на жодному сайті чи в програмі, якій ви не довіряєте. \n- Розробники Amethyst **ніколи** не запитуватимуть ваш секретний ключ. \n- **Зробіть** надійне резервне копіювання секретного ключа для відновлення облікового запису. Рекомендуємо використовувати менеджер паролів.</string>
<string name="account_backup_tips3_md">Для додаткової безпеки ви можете зашифрувати ключ паролем. Цей ключ починається з **ncryptsec1** і не може бути використаний без вашого пароля. \n\nЯкщо ви забудете пароль, ви не зможете відновити ключ.</string>
<string name="encrypt_and_copy_my_secret_key">Зашифрувати та скопіювати мій секретний ключ</string>
<string name="badge_award_image_for">Картинка значка-нагороди %1$s</string>
<string name="badge_award_image">"Зображення нагороди значком</string>
<string name="new_badge_award_notif">Ви отримали в нагороду новий значок</string>
@@ -2058,7 +2054,6 @@
<string name="copied_note_text_to_clipboard">Скопіювати текст</string>
<string name="copied_to_clipboard">Скопійовано до буфера обміну</string>
<string name="copied_user_id_to_clipboard">ID (npub) автора скопійовано</string>
<string name="copy_my_secret_key">Скопіювати мій приватний ключ</string>
<string name="copy_to_clipboard">Скопіювати в буфер</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Не вдалося скласти LNUrl з Lightning адреси «%1$s». Перевірте налаштування користувача</string>
<string name="could_not_check_downloaded_file">Не вдалося перевірити завантажений файл після вивантаження: %1$s</string>
@@ -2935,10 +2930,8 @@
<string name="share_hls_video">HLS Upload</string>
<string name="share_or_save">Поділитися або зберегти</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Показати QR-код зашифрованого приватного ключа</string>
<string name="show_messages_in_notifications_setting_description">Включати особисті та групові повідомлення на вкладку «Сповіщення». Вимкніть, щоб залишити повідомлення лише на вкладці «Повідомлення».</string>
<string name="show_messages_in_notifications_setting_title">Показувати повідомлення</string>
<string name="show_private_key_qr_code">Показати QR-код приватного ключа</string>
<string name="sign_request_rejected2">Запит на підписання відхилено</string>
<string name="sign_request_rejected_description">Переконайтеся, що застосунок-підписант авторизував цю транзакцію</string>
<string name="signer_illegal_state_exception_description">Зовнішній підписувач повернув дані, що не відповідають запиту. Можливо, є помилка в Amethyst або підписувачі.</string>
@@ -218,7 +218,6 @@
<string name="relays"> Relay lar</string>
<string name="website">Veb-sayt</string>
<string name="lightning_address">Lightning manzili</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Nsec ID (parolingiz) nusxasini zaxiralash uchun buferga nusxalaydi</string>
<string name="send_a_direct_message">To'g'ridan-to'g'ri xabar yuborish</string>
<string name="edits_the_user_s_metadata">Foydalanuvchi metama'lumotlarini tahrirlaydi</string>
<string name="unblock">Blokdan chiqarish</string>
@@ -273,9 +272,6 @@
<string name="mark_all_known_as_read">Barcha ma'lumlarni o'qilgan deb belgilash</string>
<string name="mark_all_new_as_read">Barcha yangilarni o'qilgan deb belgilash</string>
<string name="mark_all_as_read">Barchasini o'qilgan deb belgilash</string>
<string name="account_backup_tips2_md">## Kalit zaxiralash va xavfsizlik maslahatlari \n\nHisobingiz maxfiy kalit bilan himoyalangan. Kalit **nsec1** bilan boshlanadigan uzun belgilar ketma-ketligidir. Ushbu maxfiy kalitga kirish huquqiga ega bo'lgan har kim sizning nomingizdan post qo'yishi va identifikatoringizni o'zgartirishi mumkin. \n\n- Maxfiy kalitingizni ishonmagan veb-sayt yoki dasturga **kiritmang**. \n- Amethyst ishlab chiquvchilari maxfiy kalitingizni hech **qachon** so'ramaydi. \n- Hisob tiklash uchun maxfiy kalitingizning xavfsiz zaxira nusxasini saqlang. Parol menejeridan foydalanishni tavsiya qilamiz.</string>
<string name="account_backup_tips3_md">Qo'shimcha xavfsizlik uchun kalitingizni parol bilan shifrlashingiz mumkin. Bu kalit **ncryptsec1** bilan boshlanadi va parolsiz ishlatib bo'lmaydi. \n\nParolingizni unutsangiz, kalitingizni tiklay olmaysiz.</string>
<string name="encrypt_and_copy_my_secret_key">Maxfiy kalitni shifrlash va nusxalash</string>
<string name="badge_award_image_for">%1$s uchun nishon mukofoti rasmi</string>
<string name="badge_award_image">"Nishon mukofoti rasmi</string>
<string name="new_badge_award_notif">Siz yangi nishon mukofoti oldingiz</string>
@@ -1995,7 +1991,6 @@
<string name="copied_note_text_to_clipboard">Eslatma matni buferga nusxalandi</string>
<string name="copied_to_clipboard">Buferga nusxalandi</string>
<string name="copied_user_id_to_clipboard">Muallifning @npub manzili buferga nusxalandi</string>
<string name="copy_my_secret_key">Mening maxfiy kalitimni nusxalash</string>
<string name="copy_to_clipboard">Buferga nusxalash</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Lightning manzilidan LNUrl yig'ib bo'lmadi "%1$s". Foydalanuvchi sozlamasini tekshiring</string>
<string name="could_not_check_downloaded_file">Yuklashdan keyin yuklab olingan faylni tekshirib bo'lmadi: %1$s</string>
@@ -2798,10 +2793,8 @@
<string name="share_hls_video">HLS yuklash</string>
<string name="share_or_save">Ulashish yoki saqlash</string>
<string name="shorts">Shortslar</string>
<string name="show_encrypted_private_key_qr_code">Shifrlangan shaxsiy kalit QR kodini ko'rsatish</string>
<string name="show_messages_in_notifications_setting_description">Bildirishnoma yorlig'iga to'g'ridan-to'g'ri va guruh xabarlarini kiriting. Xabarlarni faqat Xabarlar yorlig'ida saqlash uchun o'chiring.</string>
<string name="show_messages_in_notifications_setting_title">Xabarlarni Ko'rsatish</string>
<string name="show_private_key_qr_code">Shaxsiy kalit QR kodini ko'rsatish</string>
<string name="sign_request_rejected2">Imzo so'rovi rad etildi</string>
<string name="sign_request_rejected_description">Imzolash ilovasi ushbu tranzaksiyaga ruxsat berganligini tekshiring</string>
<string name="signer_illegal_state_exception_description">Tashqi imzolash dasturi so'rov uchun g'alati javob qaytardi. Amethyst yoki imzolash dasturida xato bo'lishi mumkin.</string>
@@ -212,7 +212,6 @@
<string name="relays"> Relay</string>
<string name="website">Trang web</string>
<string name="lightning_address">Địa chỉ Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Sao chép Nsec ID (mật khẩu của bạn) vào clipboard để sao lưu</string>
<string name="send_a_direct_message">Gửi tin nhắn trực tiếp</string>
<string name="edits_the_user_s_metadata">Chỉnh sửa siêu dữ liệu người dùng</string>
<string name="unblock">Bỏ chặn</string>
@@ -267,9 +266,6 @@
<string name="mark_all_known_as_read">Đánh dấu tất cả đã biết là đã đọc</string>
<string name="mark_all_new_as_read">Đánh dấu tất cả mới là đã đọc</string>
<string name="mark_all_as_read">Đánh dấu tất cả là đã đọc</string>
<string name="account_backup_tips2_md">## Mẹo sao lưu khóa và bảo mật \n\nTài khoản của bạn được bảo mật bằng một khóa bí mật. Khóa là một chuỗi ký tự dài bắt đầu bằng **nsec1**. Bất kỳ ai có quyền truy cập vào khóa bí mật này đều có thể đăng bài và thay đổi danh tính của bạn. \n\n- **Không** đưa khóa bí mật của bạn vào bất kỳ trang web hoặc phần mềm nào mà bạn không tin tưởng. \n- Các nhà phát triển Amethyst sẽ **không bao giờ** yêu cầu khóa bí mật của bạn. \n- **Hãy** giữ bản sao lưu an toàn của khóa bí mật để khôi phục tài khoản. Chúng tôi khuyến nghị sử dụng trình quản lý mật khẩu.</string>
<string name="account_backup_tips3_md">Để bảo mật thêm, bạn có thể mã hóa khóa của mình bằng mật khẩu. Khóa này bắt đầu bằng **ncryptsec1** và không thể sử dụng nếu không có mật khẩu của bạn. \n\nNếu bạn mất mật khẩu, bạn sẽ không thể khôi phục khóa của mình.</string>
<string name="encrypt_and_copy_my_secret_key">Mã hóa và sao chép khóa bí mật của tôi</string>
<string name="badge_award_image_for">Hình ảnh huy hiệu được trao cho %1$s</string>
<string name="badge_award_image">"Hình ảnh huy hiệu được trao</string>
<string name="new_badge_award_notif">Bạn đã nhận được huy hiệu mới</string>
@@ -1983,7 +1979,6 @@
<string name="copied_note_text_to_clipboard">Đã sao chép nội dung ghi chú vào clipboard</string>
<string name="copied_to_clipboard">Đã sao chép vào clipboard</string>
<string name="copied_user_id_to_clipboard">Đã sao chép @npub của tác giả vào clipboard</string>
<string name="copy_my_secret_key">Sao chép khóa bí mật của tôi</string>
<string name="copy_to_clipboard">Sao chép vào clipboard</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Không thể tạo LNUrl từ Địa chỉ Lightning "%1$s". Hãy kiểm tra cài đặt của người dùng</string>
<string name="could_not_check_downloaded_file">Không thể kiểm tra tệp đã tải xuống sau khi tải lên: %1$s</string>
@@ -2746,10 +2741,8 @@
<string name="share_as_image_url">Chia sẻ dưới dạng URL hình ảnh</string>
<string name="share_hls_video">Tải lên HLS</string>
<string name="share_or_save">Chia sẻ hoặc Lưu</string>
<string name="show_encrypted_private_key_qr_code">Hiển thị mã QR khóa riêng tư đã mã hóa</string>
<string name="show_messages_in_notifications_setting_description">Bao gồm tin nhắn trực tiếp và nhóm trên tab Thông báo. Tắt để chỉ giữ tin nhắn trong tab Tin nhắn.</string>
<string name="show_messages_in_notifications_setting_title">Hiển thị tin nhắn</string>
<string name="show_private_key_qr_code">Hiển thị mã QR khóa riêng tư</string>
<string name="sign_request_rejected2">Yêu cầu ký bị từ chối</string>
<string name="sign_request_rejected_description">Hãy đảm bảo ứng dụng ký đã cho phép giao dịch này</string>
<string name="signer_illegal_state_exception_description">Trình ký bên ngoài trả về dữ liệu không hợp lệ cho yêu cầu. Có thể có lỗi trong Amethyst hoặc trong trình ký.</string>
@@ -303,7 +303,6 @@
<string name="relays">中继</string>
<string name="website">网站</string>
<string name="lightning_address">闪电地址</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">复制 Nsec ID(您的私人密钥)到剪贴板以备备份</string>
<string name="send_a_direct_message">发送直接消息</string>
<string name="edits_the_user_s_metadata">编辑用户元数据</string>
<string name="unblock">不隐藏</string>
@@ -389,9 +388,6 @@
<string name="mark_all_known_as_read">将所有已知内容标记为已读</string>
<string name="mark_all_new_as_read">将所有新内容标记为已读</string>
<string name="mark_all_as_read">将所有内容标记为已读</string>
<string name="account_backup_tips2_md">## 备份与安全提示 \n\n你的帐户由一个私钥保护。私钥是以**nsec1**开头的随机字符串。任何拥有你的私钥的人都可以使用你的身份发布内容。 \n\n- **不要**将你的私钥添加到任何你不信任的网站或软件,亦不要在网上公开。 \n- Amethyst 开发人员**永远不会**要求你提供私钥。 \n- **请**保留你的私钥的安全备份,以备帐户恢复。我们建议使用密码管理器。</string>
<string name="account_backup_tips3_md">为了额外的安全性,你可以用密码加密你的密钥。 此密钥以 **ncryptsec1** 开头,没有密码就不能使用。 \n\n如果你丢失密码, 你将无法恢复你的密钥。</string>
<string name="encrypt_and_copy_my_secret_key">加密并复制我的密钥。</string>
<string name="badge_award_image_for">颁发给 %1$s 的徽章图片</string>
<string name="badge_award_image">"徽章图片</string>
<string name="new_badge_award_notif">你收到了新的徽章奖励</string>
@@ -2623,7 +2619,6 @@
<string name="copied_note_text_to_clipboard">文本已复制到剪贴板</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copied_user_id_to_clipboard">已复制作者公钥 ID 到剪贴板</string>
<string name="copy_my_secret_key">复制我的私人密钥</string>
<string name="copy_to_clipboard">复制到剪贴板</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">无法从闪电地址集合LNURL"%1$s"。请检查用户设置</string>
<string name="could_not_check_downloaded_file">无法检查经过上传后再下载的文件:%1$s</string>
@@ -3754,10 +3749,8 @@
<string name="share_hls_video">HLS 上传</string>
<string name="share_or_save">分享或保存</string>
<string name="shorts">短视频</string>
<string name="show_encrypted_private_key_qr_code">显示加密私钥二维码</string>
<string name="show_messages_in_notifications_setting_description">在通知选项卡上包含私信和群消息。如关闭只在消息选项卡中保留消息。</string>
<string name="show_messages_in_notifications_setting_title">显示消息</string>
<string name="show_private_key_qr_code">显示私钥二维码</string>
<string name="sign_request_rejected2">签名请求已被拒绝</string>
<string name="sign_request_rejected_description">请确保签名应用程序已授权此交易</string>
<string name="signer_illegal_state_exception_description">外部签名器对该请求返回了不正常的载荷。这可能是 Amethyst 或签名器上的错误。</string>
@@ -221,7 +221,6 @@
<string name="relays">中繼</string>
<string name="website">網站</string>
<string name="lightning_address">閃電地址</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">複製 Nsec ID(您的私人密鑰)到剪貼板以備備份</string>
<string name="send_a_direct_message">發送直接消息</string>
<string name="edits_the_user_s_metadata">編輯用户元數據</string>
<string name="unblock">不隱藏</string>
@@ -276,9 +275,6 @@
<string name="mark_all_known_as_read">將所有已知內容標記為已讀</string>
<string name="mark_all_new_as_read">將所有新內容標記為已讀</string>
<string name="mark_all_as_read">將所有內容標記為已讀</string>
<string name="account_backup_tips2_md">## 备份与安全提示 \n\n你的帐户由一个私钥保护。私钥是以**nsec1**开头的随机字符串。任何拥有你的私钥的人都可以使用你的身份发布内容。 \n\n- **不要**将你的私钥添加到任何你不信任的网站或软件,亦不要在网上公开。 \n- Amethyst 开发人员**永远不会**要求你提供私钥。 \n- **请**保留你的私钥的安全备份,以备帐户恢复。我们建议使用密码管理器。</string>
<string name="account_backup_tips3_md">为了额外的安全性,你可以用密码加密你的密钥。 此密钥以 **ncryptsec1** 开头,没有密码就不能使用。 \n\n如果你丢失密码, 你将无法恢复你的密钥。</string>
<string name="encrypt_and_copy_my_secret_key">加密并复制我的密钥。</string>
<string name="badge_award_image_for">頒發給 %1$s 的徽章圖片</string>
<string name="badge_award_image">"徽章图片</string>
<string name="new_badge_award_notif">您收到了新的徽章獎勵</string>
@@ -2020,7 +2016,6 @@
<string name="copied_note_text_to_clipboard">文本已複製到剪貼板</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copied_user_id_to_clipboard">複製作者的 @npub 到剪貼板</string>
<string name="copy_my_secret_key">複製我的私人密鑰</string>
<string name="copy_to_clipboard">复制到剪贴板</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">无法从闪电地址集合LNURL"%1$s"。请检查用户设置</string>
<string name="could_not_check_downloaded_file">无法检查经过上传后再下载的文件:%1$s</string>
@@ -2807,10 +2802,8 @@
<string name="share_hls_video">HLS 上传</string>
<string name="share_or_save">分享或保存</string>
<string name="shorts">短视频</string>
<string name="show_encrypted_private_key_qr_code">显示加密私钥二维码</string>
<string name="show_messages_in_notifications_setting_description">在通知选项卡上包含私信和群消息。如关闭只在消息选项卡中保留消息。</string>
<string name="show_messages_in_notifications_setting_title">显示消息</string>
<string name="show_private_key_qr_code">显示私钥二维码</string>
<string name="sign_request_rejected2">签名请求已被拒绝</string>
<string name="sign_request_rejected_description">请确保签名应用程序已授权此交易</string>
<string name="signer_illegal_state_exception_description">外部签名器对该请求返回了不正常的载荷。这可能是 Amethyst 或签名器上的错误。</string>
@@ -221,7 +221,6 @@
<string name="relays">中继</string>
<string name="website">网站</string>
<string name="lightning_address">闪电地址</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">复制 Nsec ID(您的私人密钥)到剪贴板以备备份</string>
<string name="send_a_direct_message">发送直接消息</string>
<string name="edits_the_user_s_metadata">编辑用户元数据</string>
<string name="unblock">不隐藏</string>
@@ -276,9 +275,6 @@
<string name="mark_all_known_as_read">将所有已知内容标记为已读</string>
<string name="mark_all_new_as_read">将所有新内容标记为已读</string>
<string name="mark_all_as_read">将所有内容标记为已读</string>
<string name="account_backup_tips2_md">## 备份与安全提示 \n\n你的帐户由一个私钥保护。私钥是以**nsec1**开头的随机字符串。任何拥有你的私钥的人都可以使用你的身份发布内容。 \n\n- **不要**将你的私钥添加到任何你不信任的网站或软件,亦不要在网上公开。 \n- Amethyst 开发人员**永远不会**要求你提供私钥。 \n- **请**保留你的私钥的安全备份,以备帐户恢复。我们建议使用密码管理器。</string>
<string name="account_backup_tips3_md">为了额外的安全性,你可以用密码加密你的密钥。 此密钥以 **ncryptsec1** 开头,没有密码就不能使用。 \n\n如果你丢失密码, 你将无法恢复你的密钥。</string>
<string name="encrypt_and_copy_my_secret_key">加密并复制我的密钥。</string>
<string name="badge_award_image_for">颁发给 %1$s 的徽章图片</string>
<string name="badge_award_image">"徽章图片</string>
<string name="new_badge_award_notif">你收到了新的徽章奖励</string>
@@ -2020,7 +2016,6 @@
<string name="copied_note_text_to_clipboard">文本已复制到剪贴板</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copied_user_id_to_clipboard">已复制作者公钥 ID 到剪贴板</string>
<string name="copy_my_secret_key">复制我的私人密钥</string>
<string name="copy_to_clipboard">复制到剪贴板</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">无法从闪电地址集合LNURL"%1$s"。请检查用户设置</string>
<string name="could_not_check_downloaded_file">无法检查经过上传后再下载的文件:%1$s</string>
@@ -2807,10 +2802,8 @@
<string name="share_hls_video">HLS 上传</string>
<string name="share_or_save">分享或保存</string>
<string name="shorts">短视频</string>
<string name="show_encrypted_private_key_qr_code">显示加密私钥二维码</string>
<string name="show_messages_in_notifications_setting_description">在通知选项卡上包含私信和群消息。如关闭只在消息选项卡中保留消息。</string>
<string name="show_messages_in_notifications_setting_title">显示消息</string>
<string name="show_private_key_qr_code">显示私钥二维码</string>
<string name="sign_request_rejected2">签名请求已被拒绝</string>
<string name="sign_request_rejected_description">请确保签名应用程序已授权此交易</string>
<string name="signer_illegal_state_exception_description">外部签名器对该请求返回了不正常的载荷。这可能是 Amethyst 或签名器上的错误。</string>
@@ -216,7 +216,6 @@
<string name="relays">中繼</string>
<string name="website">網站</string>
<string name="lightning_address">閃電地址</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">複製 NSec (私人密鑰)到剪貼板以備備份</string>
<string name="send_a_direct_message">發送直接消息</string>
<string name="edits_the_user_s_metadata">編輯用户元數據</string>
<string name="unblock">不隱藏</string>
@@ -271,9 +270,6 @@
<string name="mark_all_known_as_read">將所有已知內容標記為已讀</string>
<string name="mark_all_new_as_read">將所有新內容標記為已讀</string>
<string name="mark_all_as_read">將所有內容標記為已讀</string>
<string name="account_backup_tips2_md">## 備份與安全提示 \n\n你的帳戶由一個私鑰保護。私鑰是以 **nsec1** 開頭的隨機字符串。任何擁有你的私鑰的人都可以使用你的身份發佈內容。 \n\n- **不要**將你的私鑰添加到任何你不信任的網站或軟件,亦不要在網上公開。 \n- Amethyst 開發人員**永遠不會**要求你提供私鑰。 \n- **請**保留你的私鑰的安全備份,以備帳戶恢復。我們建議使用密碼管理器。</string>
<string name="account_backup_tips3_md">爲了額外的安全性,你可以用密碼加密你的密鑰。此密鑰以 **ncryptsec1** 開頭,沒有密碼就不能使用。 \n\n如果你丟失密碼,你將無法恢復你的密鑰。</string>
<string name="encrypt_and_copy_my_secret_key">加密並複製我的密鑰</string>
<string name="badge_award_image_for">頒發給 %1$s 的徽章圖片</string>
<string name="badge_award_image">"徽章獎勵圖片</string>
<string name="new_badge_award_notif">您收到了新的徽章獎勵</string>
@@ -2005,7 +2001,6 @@
<string name="copied_note_text_to_clipboard">文本已複製到剪貼板</string>
<string name="copied_to_clipboard">已複製到剪貼簿</string>
<string name="copied_user_id_to_clipboard">複製作者的 @npub 到剪貼板</string>
<string name="copy_my_secret_key">複製我的私人密鑰</string>
<string name="copy_to_clipboard">複製至剪貼簿</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">無法從閃電地址集合 LNURL “%1$s”。請檢查用戶設置</string>
<string name="could_not_check_downloaded_file">上傳後無法檢查已下載的檔案:%1$s</string>
@@ -2779,10 +2774,8 @@
<string name="share_hls_video">HLS 上傳</string>
<string name="share_or_save">分享或保存</string>
<string name="shorts">短片</string>
<string name="show_encrypted_private_key_qr_code">顯示加密私鑰 QR 碼</string>
<string name="show_messages_in_notifications_setting_description">在通知分頁中包含私訊及群組訊息。關閉後,訊息將只出現在訊息分頁中。</string>
<string name="show_messages_in_notifications_setting_title">顯示訊息</string>
<string name="show_private_key_qr_code">顯示私鑰 QR 碼</string>
<string name="sign_request_rejected2">簽名請求已被拒絕</string>
<string name="sign_request_rejected_description">請確保簽名應用程式已授權此交易</string>
<string name="signer_illegal_state_exception_description">外部簽署器回傳了與請求不符的酬載。Amethyst 或簽署器可能存在錯誤。</string>
@@ -202,7 +202,6 @@
<string name="relays">中继</string>
<string name="website">网站</string>
<string name="lightning_address">闪电地址</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">复制 Nsec ID(您的私人密钥)到剪贴板以备备份</string>
<string name="send_a_direct_message">发送直接消息</string>
<string name="edits_the_user_s_metadata">编辑用户元数据</string>
<string name="unblock">不隐藏</string>
@@ -257,7 +256,6 @@
<string name="mark_all_known_as_read">将所有已知内容标记为已读</string>
<string name="mark_all_new_as_read">将所有新内容标记为已读</string>
<string name="mark_all_as_read">将所有内容标记为已读</string>
<string name="encrypt_and_copy_my_secret_key">加密并复制我的密钥。</string>
<string name="badge_award_image_for">颁发给 %1$s 的徽章图片</string>
<string name="badge_award_image">"徽章图片</string>
<string name="new_badge_award_notif">您收到了新的徽章奖励</string>
@@ -1799,8 +1797,6 @@
<string name="ots_explorer_api_label">Explorer API 基础URL</string>
<string name="dvm_pay_invoice_from_dvm">支付来自DVM的发票</string>
<string name="dvm_pay_amount_to_dvm">支付 %1$s sats 到 DVM</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips2_md" ns0:ignore="Typos">## 备份与安全提示 \n\n你的帐户由一个私钥保护。私钥是以**nsec1**开头的随机字符串。任何拥有你的私钥的人都可以使用你的身份发布内容。 \n\n- **不要**将你的私钥添加到任何你不信任的网站或软件,亦不要在网上公开。 \n- Amethyst 开发人员**永远不会**要求你提供私钥。 \n- **请**保留你的私钥的安全备份,以备帐户恢复。我们建议使用密码管理器。</string>
<string xmlns:ns0="http://schemas.android.com/tools" name="account_backup_tips3_md" ns0:ignore="Typos">为了额外的安全性,你可以用密码加密你的密钥。 此密钥以 **ncryptsec1** 开头,没有密码就不能使用。 \n\n如果你丢失密码, 你将无法恢复你的密钥。</string>
<string name="use_direct_url">使用直接链接</string>
<string name="nsite_title">静态网站: %1$s</string>
<string name="napplet_card_title">nApple: %1$s</string>
@@ -2037,7 +2033,6 @@
<string name="copied_note_text_to_clipboard">文本已复制到剪贴板</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copied_user_id_to_clipboard">复制作者的 @npub 到剪贴板</string>
<string name="copy_my_secret_key">复制我的私人密钥</string>
<string name="copy_to_clipboard">复制到剪贴板</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">无法从闪电地址集合LNURL"%1$s"。请检查用户设置</string>
<string name="could_not_check_downloaded_file">无法检查经过上传后再下载的文件:%1$s</string>
@@ -2860,10 +2855,8 @@
<string name="share_hls_video">HLS 上传</string>
<string name="share_or_save">分享或保存</string>
<string name="shorts">短视频</string>
<string name="show_encrypted_private_key_qr_code">显示加密私钥二维码</string>
<string name="show_messages_in_notifications_setting_description">在通知选项卡上包含私信和群消息。如关闭只在消息选项卡中保留消息。</string>
<string name="show_messages_in_notifications_setting_title">显示消息</string>
<string name="show_private_key_qr_code">显示私钥二维码</string>
<string name="sign_request_rejected2">签名请求已被拒绝</string>
<string name="sign_request_rejected_description">请确保签名应用程序已授权此交易</string>
<string name="signer_illegal_state_exception_description">外部签名器对该请求返回了不正常的载荷。这可能是 Amethyst 或签名器上的错误。</string>
@@ -558,7 +558,6 @@
<string name="relays"> Relays</string>
<string name="website">Website</string>
<string name="lightning_address">Lightning Address</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copies the Nsec ID (your password) to the clipboard for backup</string>
<string name="send_a_direct_message">Send a Direct Message</string>
<string name="edits_the_user_s_metadata">Edits the User's Metadata</string>
<string name="unblock">Unblock</string>
@@ -668,14 +667,29 @@
<string name="mark_all_known_as_read">Mark all Known as read</string>
<string name="mark_all_new_as_read">Mark all New as read</string>
<string name="mark_all_as_read">Mark all as read</string>
<string name="account_backup_tips2_md">## Key Backup and Safety Tips \n\nYour account is secured by a secret key. The key is a long sequence of characters starting with **nsec1**. Anyone who has access to this secret key can post and change your identity. \n\n- Do **not** put your secret key in any website or software you do not trust. \n- Amethyst developers will **never** ask for your secret key. \n- **Do** keep a secure backup of your secret key for account recovery. We recommend using a password manager.</string>
<string name="account_backup_tips3_md">For additional security, you can encrypt your key with a password. This key starts with **ncryptsec1** and cannot be used without your password. \n\nIf you lose your password, you will not be able to recover your key.</string>
<string name="account_backup_headline">Your secret key is your account</string>
<string name="account_backup_intro">Anyone who has it can post as you. If you lose it, nobody can recover it, not even Amethyst.</string>
<string name="account_backup_tap_to_reveal">Tap to reveal</string>
<string name="account_backup_write_down_hint">Write it down in this order. Upper or lower case both work.</string>
<string name="account_backup_qr_code">QR code</string>
<string name="account_backup_encrypted_title">Password-protected copy</string>
<string name="account_backup_encrypted_password">Password</string>
<string name="account_backup_encrypted_body">An ncryptsec1… that only works with your password.</string>
<string name="account_backup_password_min_length">At least %1$d characters</string>
<string name="account_backup_encrypted_repeat_password">Repeat password</string>
<string name="account_backup_encrypted_password_mismatch">Passwords don't match</string>
<string name="account_backup_encrypt">Encrypt key</string>
<string name="account_backup_encrypting">Encrypting…</string>
<string name="account_backup_encrypted_saved_hint">Safe to keep in a password manager or cloud notes: it can't be opened without the password, and a forgotten password can't be recovered.</string>
<string name="account_backup_encrypt_again">Use a different password</string>
<string name="account_backup_tip_storage">Keep the paper somewhere only you can find it, or save the key in a password manager.</string>
<string name="account_backup_tip_trust">Never paste your key into websites or apps you don't trust.</string>
<string name="account_backup_tip_developers">Amethyst developers will never ask for your key.</string>
<string name="backup_keys_nudge_title">Back up your keys</string>
<string name="backup_keys_nudge_body">Your secret key is the only way to access this account. If you lose it, it can never be recovered. Save it somewhere safe now.</string>
<string name="backup_keys_nudge_backup_now">Back up now</string>
<string name="backup_keys_nudge_already_saved">I saved them</string>
<string name="backup_keys_nudge_dismiss">Dismiss</string>
<string name="encrypt_and_copy_my_secret_key">Encrypt and copy my secret key</string>
<string name="badge_award_image_for">Badge award image for %1$s</string>
<string name="badge_award_image">"Badge award image</string>
<string name="new_badge_award_notif">You Received a new Badge Award</string>
@@ -3617,7 +3631,6 @@
<string name="copied_note_text_to_clipboard">Copied note text to clipboard</string>
<string name="copied_to_clipboard">Copied to clipboard</string>
<string name="copied_user_id_to_clipboard">Copied author’s @npub to clipboard</string>
<string name="copy_my_secret_key">Copy my secret key</string>
<string name="copy_to_clipboard">Copy to clipboard</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Could not assemble LNUrl from Lightning Address "%1$s". Check the user's setup</string>
<string name="could_not_check_downloaded_file">Could not check downloaded file after upload: %1$s</string>
@@ -5105,10 +5118,8 @@
<string name="share_hls_video">HLS Upload</string>
<string name="share_or_save">Share or Save</string>
<string name="shorts">Shorts</string>
<string name="show_encrypted_private_key_qr_code">Show encrypted private key QR code</string>
<string name="show_messages_in_notifications_setting_description">Include direct and group messages on the Notification tab. Turn off to keep messages only in the Messages tab.</string>
<string name="show_messages_in_notifications_setting_title">Show Messages</string>
<string name="show_private_key_qr_code">Show private key QR code</string>
<string name="sign_request_rejected2">Sign request rejected</string>
<string name="sign_request_rejected_description">Make sure the signer application has authorized this transaction</string>
<string name="signer_illegal_state_exception_description">External signer returned a payload that is strange for the request. There might be a bug on either Amethyst or the Signer.</string>
@@ -0,0 +1,103 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.commons.ui.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.TextAutoSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
private const val MASK_CHAR = '•'
/**
* Shows a bech32 key (usually an nsec) as numbered rows of 5-4-4-4-4 character
* groups (see [Bech32Transcription]) so it can be copied onto paper by hand.
*
* Monospace keeps the groups aligned as columns across rows, and each row is
* auto-sized to stay on one line on narrow screens and large font scales.
* [masked] keeps the exact same layout with every character replaced by a dot,
* so revealing the key doesn't shift the screen.
*/
@Composable
fun KeyTranscriptionGrid(
bech32: String,
modifier: Modifier = Modifier,
masked: Boolean = false,
uppercase: Boolean = true,
color: Color = MaterialTheme.colorScheme.onSurface,
lineNumberColor: Color = MaterialTheme.colorScheme.onSurfaceVariant,
) {
val rows =
remember(bech32, masked, uppercase) {
val source = if (uppercase) bech32.uppercase() else bech32
Bech32Transcription.groups(source).map { groups ->
groups.joinToString(" ") { group ->
if (masked) MASK_CHAR.toString().repeat(group.length) else group
}
}
}
val keyStyle =
MaterialTheme.typography.titleLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Medium,
letterSpacing = 1.sp,
)
Column(
modifier = modifier,
verticalArrangement = Arrangement.spacedBy(10.dp),
) {
rows.forEachIndexed { index, row ->
Row(verticalAlignment = Alignment.CenterVertically) {
Text(
text = (index + 1).toString(),
style = MaterialTheme.typography.labelMedium,
color = lineNumberColor,
modifier = Modifier.width(20.dp),
)
Text(
text = row,
style = keyStyle,
color = color,
maxLines = 1,
softWrap = false,
overflow = TextOverflow.Clip,
autoSize = TextAutoSize.StepBased(minFontSize = 10.sp, maxFontSize = keyStyle.fontSize),
)
}
}
}
}
@@ -45,6 +45,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.sockets.okhttp.BasicOkHttpWebSoc
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip01Core.signers.SignerExceptions
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.decodePrivateKeyAsHexOrNull
import com.vitorpamplona.quartz.nip19Bech32.decodePublicKeyAsHexOrNull
import com.vitorpamplona.quartz.nip19Bech32.toNpub
@@ -700,7 +701,8 @@ class AccountManager internal constructor(
}
fun loginWithKey(keyInput: String): Result<AccountState.LoggedIn> {
val trimmedInput = keyInput.trim()
// Also accepts keys copied by hand: UPPERCASE, split into dash/space-separated groups.
val trimmedInput = Bech32Transcription.normalize(keyInput)
val privKeyHex = decodePrivateKeyAsHexOrNull(trimmedInput)
if (privKeyHex != null) {
@@ -66,6 +66,7 @@ import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbol
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.resources.Res
import com.vitorpamplona.amethyst.commons.resources.account_backup_password_min_length
import com.vitorpamplona.amethyst.commons.resources.action_copy
import com.vitorpamplona.amethyst.commons.resources.backup_keys_copied
import com.vitorpamplona.amethyst.commons.resources.backup_keys_copy_plain_warning
@@ -409,12 +410,13 @@ private fun EncryptedCopySection(nsec: String) {
label = { Text(stringResource(Res.string.new_key_encrypt_password_label)) },
singleLine = true,
isError = error,
supportingText =
supportingText = {
if (error) {
{ Text(stringResource(Res.string.backup_keys_encrypt_failed)) }
Text(stringResource(Res.string.backup_keys_encrypt_failed))
} else {
null
},
Text(stringResource(Res.string.account_backup_password_min_length, Nip49.MIN_PASSWORD_LENGTH))
}
},
visualTransformation =
if (showChars) VisualTransformation.None else PasswordVisualTransformation(),
trailingIcon = {
@@ -450,7 +452,7 @@ private fun EncryptedCopySection(nsec: String) {
}
}
},
enabled = password.isNotBlank() && !working,
enabled = Nip49.isLongEnough(password) && !working,
colors =
ButtonDefaults.buttonColors(
containerColor = MaterialTheme.colorScheme.secondaryContainer,
@@ -63,6 +63,7 @@ import com.vitorpamplona.amethyst.commons.privacylock.LockScope
import com.vitorpamplona.amethyst.commons.privacylock.LockState
import com.vitorpamplona.amethyst.commons.privacylock.lockStateFor
import com.vitorpamplona.amethyst.commons.resources.Res
import com.vitorpamplona.amethyst.commons.resources.account_backup_password_min_length
import com.vitorpamplona.amethyst.commons.resources.backup_keys_copied
import com.vitorpamplona.amethyst.commons.resources.backup_keys_copy
import com.vitorpamplona.amethyst.commons.resources.backup_keys_copy_encrypted
@@ -83,6 +84,7 @@ import com.vitorpamplona.amethyst.commons.resources.backup_keys_show_qr
import com.vitorpamplona.amethyst.commons.resources.backup_keys_title
import com.vitorpamplona.amethyst.commons.resources.backup_keys_unlock_subtitle
import com.vitorpamplona.amethyst.commons.resources.backup_keys_unlock_title
import com.vitorpamplona.amethyst.commons.ui.components.KeyTranscriptionGrid
import com.vitorpamplona.amethyst.desktop.account.AccountState
import com.vitorpamplona.amethyst.desktop.security.DesktopLockScreen
import com.vitorpamplona.amethyst.desktop.ui.auth.QrCodeCanvas
@@ -314,7 +316,16 @@ private fun RevealedSecret(
nsec: String,
onHide: () -> Unit,
) {
MonospaceKeyValue(value = nsec, isSensitive = true)
KeyTranscriptionGrid(
bech32 = nsec,
modifier =
Modifier
.fillMaxWidth()
.background(
color = MaterialTheme.colorScheme.surface,
shape = RoundedCornerShape(4.dp),
).padding(horizontal = 12.dp, vertical = 16.dp),
)
Spacer(Modifier.height(8.dp))
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
@@ -363,12 +374,13 @@ private fun EncryptedCopy(nsec: String) {
label = { Text(stringResource(Res.string.backup_keys_encrypt_password_label)) },
singleLine = true,
isError = error,
supportingText =
supportingText = {
if (error) {
{ Text(stringResource(Res.string.backup_keys_encrypt_failed)) }
Text(stringResource(Res.string.backup_keys_encrypt_failed))
} else {
null
},
Text(stringResource(Res.string.account_backup_password_min_length, Nip49.MIN_PASSWORD_LENGTH))
}
},
visualTransformation =
if (showChars) VisualTransformation.None else PasswordVisualTransformation(),
trailingIcon = {
@@ -406,7 +418,7 @@ private fun EncryptedCopy(nsec: String) {
}
}
},
enabled = password.isNotBlank() && !working,
enabled = Nip49.isLongEnough(password) && !working,
) {
Icon(
symbol = MaterialSymbols.ContentCopy,
@@ -431,19 +443,11 @@ private fun EncryptedCopy(nsec: String) {
}
@Composable
private fun MonospaceKeyValue(
value: String,
isSensitive: Boolean = false,
) {
private fun MonospaceKeyValue(value: String) {
Text(
value,
style = MaterialTheme.typography.bodySmall.copy(fontFamily = FontFamily.Monospace),
color =
if (isSensitive) {
MaterialTheme.colorScheme.error
} else {
MaterialTheme.colorScheme.onSurfaceVariant
},
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier =
Modifier
.fillMaxWidth()
@@ -24,6 +24,7 @@ import com.vitorpamplona.amethyst.commons.keystorage.SecureKeyStorage
import com.vitorpamplona.amethyst.commons.model.account.SignerType
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.toNpub
import com.vitorpamplona.quartz.nip19Bech32.toNsec
import io.mockk.coEvery
@@ -84,6 +85,19 @@ class AccountManagerKeyLoginTest {
assertEquals(SignerType.Internal, state.signerType)
}
@Test
fun loginWithHandCopiedNsecReturnsLoggedIn() {
val keyPair = KeyPair()
val nsec = keyPair.privKey!!.toNsec()
// As written down from the backup screen: uppercase, in dash-separated groups, one row per line.
val handCopied =
Bech32Transcription.groups(nsec.uppercase()).joinToString("\n") { it.joinToString("-") }
val state = manager.loginWithKey(handCopied).getOrThrow()
assertFalse(state.isReadOnly)
assertEquals(nsec, state.nsec)
}
@Test
fun loginWithNpubReturnsReadOnly() {
val keyPair = KeyPair()
@@ -0,0 +1,83 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.quartz.nip19Bech32
/**
* Helpers for copying a bech32 key (usually an `nsec1…`) by hand — onto paper, a
* steel plate, or into another device's keyboard — and for reading it back.
*
* A 32-byte key encodes to 63 chars (`nsec1` + 52 data + 6 checksum), which splits
* evenly into [ROWS_PER_KEY] rows of [ROW_PATTERN] (5-4-4-4-4 = 21):
*
* ```
* nsec1 ptuh w9cg 9ays zgxs
* nr6zm 5akh s9ju w2r9 eujr
* ha0r5 q6fz wghj hsl4 vqtl
* ```
*
* Bech32 is case-insensitive as long as the whole string uses one case, so the
* transcription may be shown in UPPERCASE: the alphabet has no `b`, `i` or `o`,
* and `1` only appears as the separator, which removes most handwriting mix-ups.
*/
object Bech32Transcription {
/** Group sizes of one row. The leading 5 keeps the `nsec1` prefix in one group. */
val ROW_PATTERN = intArrayOf(5, 4, 4, 4, 4)
const val ROWS_PER_KEY = 3
/**
* Splits [bech32] into rows of groups following [ROW_PATTERN]. The last row may be
* shorter when the input isn't a multiple of the row length.
*/
fun groups(bech32: String): List<List<String>> {
val rows = mutableListOf<List<String>>()
var i = 0
while (i < bech32.length) {
val row = mutableListOf<String>()
for (size in ROW_PATTERN) {
if (i >= bech32.length) break
val end = minOf(i + size, bech32.length)
row.add(bech32.substring(i, end))
i = end
}
rows.add(row)
}
return rows
}
/**
* Undoes a hand transcription: if [input], once whitespace and `-` separators are
* removed, starts with a NIP-19 / NIP-49 prefix (any case), returns it compacted and
* lowercased so the bech32 decoder and prefix checks accept it. Anything else is
* returned trimmed but otherwise untouched (hex keys, mnemonics, NIP-05 addresses).
*
* Neither whitespace nor `-` is in the bech32 alphabet, so dropping them can't turn
* one valid key into another.
*/
fun normalize(input: String): String {
val trimmed = input.trim()
val compact = trimmed.filterNot { it.isWhitespace() || it == '-' }
val lower = compact.lowercase()
return if (TRANSCRIBABLE_PREFIXES.any { lower.startsWith(it) }) lower else trimmed
}
private val TRANSCRIBABLE_PREFIXES = arrayOf("nsec1", "npub1", "ncryptsec1", "nprofile1")
}
@@ -31,6 +31,31 @@ import com.vitorpamplona.quartz.utils.UnicodeNormalizer
import kotlin.math.pow
class Nip49 {
companion object {
/**
* Shortest password Amethyst accepts when *creating* an ncryptsec. NIP-49 sets no
* minimum, and decrypting must accept any password other clients allowed, so this
* is a creation-time policy only.
*
* An ncryptsec can be attacked offline with no rate limit, at one scrypt(2^16)
* per guess. 12 characters keeps even a random-looking password out of reach of
* large GPU farms, while staying typeable on a phone at login.
*/
const val MIN_PASSWORD_LENGTH = 12
/** scrypt cost used when creating: 2^16 rounds, 64 MiB. Safe on low-end phones. */
const val DEFAULT_LOG_N = 16
/**
* Length as scrypt sees it: code points of the NFKC-normalized password, so
* an emoji (a UTF-16 surrogate pair) counts once and compatibility forms
* count as what they normalize to.
*/
fun passwordLength(password: String): Int = UnicodeNormalizer().normalizeNFKC(password).count { !it.isLowSurrogate() }
fun isLongEnough(password: String): Boolean = passwordLength(password) >= MIN_PASSWORD_LENGTH
}
fun decrypt(
nCryptSec: String,
password: String,
@@ -42,30 +67,43 @@ class Nip49 {
): String {
check(encryptedInfo != null) { "Couldn't decode key" }
check(encryptedInfo.version == EncryptedInfo.V) { "invalid version" }
// 32-byte key + 16-byte tag. A shorter payload can still carry a valid tag and
// would otherwise come back as a zero-padded "key".
check(encryptedInfo.encryptedKey.size == 48) { "invalid encrypted key length" }
val normalizedPassword = UnicodeNormalizer().normalizeNFKC(password).encodeToByteArray()
val n = 2.0.pow(encryptedInfo.logn.toDouble()).toInt()
val key = SCrypt.scrypt(normalizedPassword, encryptedInfo.salt, n, 8, 1, 32)
val key = deriveKey(normalizedPassword, encryptedInfo.salt, n, encryptedInfo.logn.toInt())
val m = ByteArray(32)
LibSodiumInstance.cryptoAeadXChaCha20Poly1305IetfDecrypt(
m,
key,
encryptedInfo.encryptedKey,
byteArrayOf(encryptedInfo.keySecurity),
encryptedInfo.nonce,
key,
)
try {
// The Poly1305 tag is what tells a wrong password apart. Inspecting the output
// instead (e.g. "any byte > 0") rejects valid keys whose bytes are all >= 0x80.
val authenticated =
LibSodiumInstance.cryptoAeadXChaCha20Poly1305IetfDecrypt(
m,
key,
encryptedInfo.encryptedKey,
byteArrayOf(encryptedInfo.keySecurity),
encryptedInfo.nonce,
key,
)
check(m.any { it > 0 }) { "Incorrect password" }
check(authenticated) { "Incorrect password" }
return m.toHexKey()
return m.toHexKey()
} finally {
// NIP-49: the symmetric key should be zeroed and discarded after use.
key.fill(0)
normalizedPassword.fill(0)
m.fill(0)
}
}
fun encrypt(
secretKeyHex: String,
password: String,
logn: Int = 16,
logn: Int = DEFAULT_LOG_N,
ksb: Byte = EncryptedInfo.CLIENT_DOES_NOT_TRACK,
): String = encrypt(secretKeyHex.hexToByteArray(), password, logn, ksb)
@@ -81,21 +119,31 @@ class Nip49 {
val normalizedPassword = UnicodeNormalizer().normalizeNFKC(password).encodeToByteArray()
val n = 2.0.pow(logn.toDouble()).toInt()
val key = SCrypt.scrypt(normalizedPassword, salt, n, 8, 1, 32)
val key = deriveKey(normalizedPassword, salt, n, logn)
val ciphertext = ByteArray(48)
// byte[] c, long[] cLen,
// byte[] m, long mLen,
// byte[] ad, long adLen,
// byte[] nSec, byte[] nPub, byte[] k
LibSodiumInstance.cryptoAeadXChaCha20Poly1305IetfEncrypt(
ciphertext,
secretKey,
byteArrayOf(ksb),
key,
nonce,
key,
)
try {
// byte[] c, long[] cLen,
// byte[] m, long mLen,
// byte[] ad, long adLen,
// byte[] nSec, byte[] nPub, byte[] k
val encrypted =
LibSodiumInstance.cryptoAeadXChaCha20Poly1305IetfEncrypt(
ciphertext,
secretKey,
byteArrayOf(ksb),
key,
nonce,
key,
)
// Never hand back an ncryptsec of an untouched (all-zero) buffer: it would be a
// backup that no password can ever open.
check(encrypted) { "Failed to encrypt the key" }
} finally {
// NIP-49: the symmetric key should be zeroed and discarded after use.
key.fill(0)
normalizedPassword.fill(0)
}
return EncryptedInfo(
EncryptedInfo.V,
@@ -107,6 +155,24 @@ class Nip49 {
).encodePayload()
}
/**
* scrypt allocates 128 * r * N bytes up front: 1 GiB at LOG_N 20, which NIP-49 allows and
* other clients may choose. Past the heap that is an OutOfMemoryError, which callers'
* `catch (e: Exception)` would miss, crashing instead of reporting the key as unusable.
*/
private fun deriveKey(
normalizedPassword: ByteArray,
salt: ByteArray,
n: Int,
logn: Int,
): ByteArray =
try {
SCrypt.scrypt(normalizedPassword, salt, n, 8, 1, 32)
} catch (e: Error) {
normalizedPassword.fill(0)
throw IllegalStateException("Not enough memory for this key's scrypt cost (LOG_N $logn)", e)
}
class EncryptedInfo(
val version: Byte,
val logn: Byte,
@@ -39,6 +39,8 @@ object LibSodiumInstance {
try {
val plaintext = XChaCha20Poly1305.decrypt(ciphertext, ad, nPub, k)
plaintext.copyInto(message)
// The caller owns the only copy it should have; don't leave another on the heap.
plaintext.fill(0)
true
} catch (_: Exception) {
false
@@ -0,0 +1,79 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.quartz.nip19Bech32
import kotlin.test.Test
import kotlin.test.assertEquals
class Bech32TranscriptionTest {
private val nsec = "nsec1ptuhw9cg9ayszgxsnr6zm5akhs9juw2r9eujrha0r5q6fzwghjhsl4vqtl"
@Test
fun splitsAnNsecIntoThreeRowsOf54444() {
assertEquals(
listOf(
listOf("nsec1", "ptuh", "w9cg", "9ays", "zgxs"),
listOf("nr6zm", "5akh", "s9ju", "w2r9", "eujr"),
listOf("ha0r5", "q6fz", "wghj", "hsl4", "vqtl"),
),
Bech32Transcription.groups(nsec),
)
}
@Test
fun groupsRejoinToTheOriginal() {
assertEquals(nsec, Bech32Transcription.groups(nsec).flatten().joinToString(""))
}
@Test
fun shortInputLeavesAPartialLastRow() {
assertEquals(
listOf(listOf("nsec1", "ptuh", "w9cg", "9ays", "zgxs"), listOf("nr")),
Bech32Transcription.groups("nsec1ptuhw9cg9ayszgxsnr"),
)
}
@Test
fun uppercaseHyphenatedTranscriptionDecodesToTheSameKey() {
val written =
"""
NSEC1-PTUH-W9CG-9AYS-ZGXS
NR6ZM-5AKH-S9JU-W2R9-EUJR
HA0R5-Q6FZ-WGHJ-HSL4-VQTL
""".trimIndent()
val normalized = Bech32Transcription.normalize(written)
assertEquals(nsec, normalized)
assertEquals(decodePrivateKeyAsHexOrNull(nsec), decodePrivateKeyAsHexOrNull(normalized))
}
@Test
fun spacesAndMixedCaseAreAccepted() {
assertEquals(nsec, Bech32Transcription.normalize(" Nsec1 ptuh w9cg 9ays zgxs nr6zm 5akh s9ju w2r9 eujr ha0r5 q6fz wghj hsl4 vqtl "))
}
@Test
fun nonBech32InputIsOnlyTrimmed() {
assertEquals("alice@example.com", Bech32Transcription.normalize(" alice@example.com "))
assertEquals("abandon ability able", Bech32Transcription.normalize("abandon ability able"))
assertEquals("ABCDEF-01", Bech32Transcription.normalize("ABCDEF-01"))
}
}
@@ -0,0 +1,90 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.quartz.nip49PrivKeyEnc
import kotlin.test.Test
import kotlin.test.assertEquals
/**
* ncryptsecs produced by other NIP-49 implementations, which Amethyst must keep opening.
*
* Generated once by encrypting the same cases with each library (encryption is randomized,
* so only decryption can be pinned). Cases cover the three key-security bytes, NFKC (the
* password is given in its un-normalized typed form), astral-plane emoji, significant
* spaces, an empty password, a key whose bytes are all >= 0x80, and a non-default LOG_N.
* The reverse direction (those libraries opening Amethyst's output) was checked at the
* same time against the same versions.
*/
class Nip49InteropTest {
private class Vector(
val producer: String,
val case: String,
val ncryptsec: String,
val password: String,
val secretKeyHex: String,
val logn: Int,
val ksb: Int,
)
private val vectors =
listOf(
Vector("nostr-tools 2.25.2", "spec-key-ascii", "ncryptsec1qggzef0f9c0e4jahr32p98weq679sydr6ea4chnz0kzys4egytrt89dc8e3ml28z8jfq9daj6hn8rkd3kltru9mxzvpc4v2ppgmyp4dew7ugcp98hfayqyehss36xdl95eulzrjhv9z8mk745yvkq9la", "nostr", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("nostr-tools 2.25.2", "ksb0", "ncryptsec1qgg2mwlypqz2an0qvkx5wj5kw2xnaunl6648utjxs4acpud2ewpgp4wcv3xwvhf2vgmqqaudk4zl9rcdtryg97j8z7jg6ex0q3tdsl0e2zh4rsedj43jr0th48z4cv5vgausj6fxhsjjzfs8lvkfdu4v", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 0),
Vector("nostr-tools 2.25.2", "ksb1", "ncryptsec1qggxwrt3vtsyy6fn8mha8danwhdwe4dx39r4l3r0fgh393kr6f7a2yt230vsmkuug0lsrjedklp7r4eltcfckdp37x5afc8uk5fzaxkcnvx5q3cyt69n4fgfdddxuejjmlkzerggxlgjqpesn5vk2djk", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 1),
Vector("nostr-tools 2.25.2", "nfkc-typed-form", "ncryptsec1qgggze6805h7slevp5evyekxhh42fl2qk8hlla2uej8934l0f65v7xfhd2njmtdnm2ws9grf6tuzeugj59hctn3rg8dp03s8e62vycvynmf9ymcxp9sczvhx7mntl8wm8gujg00vx9rjvxxt4s8nq893", "\u212B\u2126\u1E9B\u0323", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("nostr-tools 2.25.2", "emoji", "ncryptsec1qggpnka7pcakst6nszv492xqk53q07ctdjztklevawatwfwcapyw2qvfmm6xuz3kl4sqyefsw8c5g96zpj6p7dhq8kcjkynm2fz7nwy5q7mtx7vf5dwh9mmhj82snl2tnlpcz6rzdqhl7aan7ygz08f8", "\uD83D\uDD11\uD83D\uDD12 key lock \uD83E\uDDE1", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("nostr-tools 2.25.2", "spaces", "ncryptsec1qgg0j53e68fs5ty9d6kvup5qwpglml0knavrkrzhu88345kkrgrfju9hpwksnre3uveqys4elvdjtjz3770l2rdm6a7rfepmumgnp9kzl9wjp9sy575m02xm9rgc86npyj8jgspcq97s9lgd7gtz5lg2", " leading and trailing ", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("nostr-tools 2.25.2", "empty-password", "ncryptsec1qgg0mnjj0x8um28yrku7k0pxhcwg70l8286lqng949qw2xgw3auejrs8g2whr9qavgus9w7etxlxwuxtw9d4t9uzknq558c6d83vxz48ka25xn064df9cxgv7ty820yrej8yll9d9wd0lyfpn5yuny8r", "", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("nostr-tools 2.25.2", "all-high-bytes", "ncryptsec1qgg97h3hl9jwjwneecfa8nfycyh8vh9h4v2td75qxpq2y2xyw2epa9xzjgerxwyl73asymlcmusgx9nygg26kxgtrhepn77aqqej6ufgly4hlzxwl9jdxkt24mpl85lgfus0xcge78pg7ytljva58eyu", "high bytes key!", "8080808080808080808080808080808080808080808080808080808080808080", 16, 2),
Vector("nostr-tools 2.25.2", "logn8", "ncryptsec1qgydpemrwe496lqjlu9hsd8x39yyrv7w0tpt0s5wh2e0amzq9vwshrqs3enjew7hlwnsym8v0jtrzg7r4l7ku8lx9yw9gcy66std9aluchvy8mxpatqkdqlexmdap6hgv2p2l936zlwks3529q8p57vk", "cheap scrypt pw", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 8, 2),
Vector("rust-nostr 0.45.5", "spec-key-ascii", "ncryptsec1qggv857u8hqfyknh9vntpa7vpuw2mlw9fwu46qkfzfd4w07rz3nfyyptcxac2a3qcuxqy3v80kxxkzryjdryu5dl6ygwvq9tvgaft5aap27s6arz7wdjhw23h2jdsknvfndjmtarcu0w4nc4gc39zeu4", "nostr", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("rust-nostr 0.45.5", "ksb0", "ncryptsec1qggw5euqnv6jwzzu4kaqp4rgda8q87ydpyccvujvrvgn4z2mderjhkr6fvyvv85ve0jspp90gpdh9nlqfjj9clvse4xjyd0aq28uwu4t594yxwlx00k7n6dh50l6ag7xksnwy6dulskrgl4rv52pfcv3", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 0),
Vector("rust-nostr 0.45.5", "ksb1", "ncryptsec1qgg2jalwa5khtqhydjdpv7qku64knkcpppr9calc90g3vvryerqgtpvjef8vqjxh934qr68zxp5fdrn3478mhna7n6rk85hjsnnn6zkwqjxl5gm3fnrjv58m85n9x4frdu8u7mdl3elkggcg0s0ajrar", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 1),
Vector("rust-nostr 0.45.5", "nfkc-typed-form", "ncryptsec1qgg23tn24g595ph4rjz3qw6zaha9p8zh6rwauzfknp3wqywqvlsa9lf4yc54yl9gq6rs9yzl3fvpc63dkahjqqmye7wken7jcjkws4h506ul0qpjh8c5skcyhc08tem7n9hr07484ypmpgaf6sgd470q", "\u212B\u2126\u1E9B\u0323", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("rust-nostr 0.45.5", "emoji", "ncryptsec1qgg2x6rkclt0vwulrq83cclekghuytcyp8ju5lfuka9jmt0qh8u4mqgc6nqllw86lz2syqs5mt39fyk4tj9f00dn8hx9g2ckjurgnpajwy9as9lgta25x7jxxnpjh62j4hlr2a06j9qnzkukzq0jph3s", "\uD83D\uDD11\uD83D\uDD12 key lock \uD83E\uDDE1", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("rust-nostr 0.45.5", "spaces", "ncryptsec1qggzz6tnfts4xrepjkeuy5shg7z5y62levqknlf94tqry8zwefag3uux0qzlyfqh35ms9vzavurvh9adv36v8lhzllw4yf9zdd3nqajlcqje3k8s73jlyzcufpgwsgqu8pcq5la9mr7pg3zp2yegzzk2", " leading and trailing ", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("rust-nostr 0.45.5", "empty-password", "ncryptsec1qggyfqwg66hfdylpgw8drhuwg4yu3940zjn9u39tvaape267qs072a0qmpf48pcm8cgqyq4v0e4ygzuyf70e5req74htar44za03klj9em447gpfnshha6ez3rxh4eah3w2tj6vntqhewcjfasdwaa2k", "", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("rust-nostr 0.45.5", "all-high-bytes", "ncryptsec1qggdxzuj6y3ha9s240p2a4e9yhpatjzq4tjfc764sqc4kvcqhfn9nljhwdtdpspdx6cs95adxsc6gy86j6xkle2cp6fffr2zsv5k4ua0e266l9l2wgl5x0xavwqg8urtx6xe7z4cftdna49axgws6j6a", "high bytes key!", "8080808080808080808080808080808080808080808080808080808080808080", 16, 2),
Vector("rust-nostr 0.45.5", "logn8", "ncryptsec1qgywmddn2ymrmjkn3df9vcr87g2jzm63u0apcf28vu5u64lydlg438ztpvu9svjuqensysr7088xpp8ufu7kmzgtnal4w5gcrmfwsegst9aj8trhjllx74pew92wts8sh4lvpmu5552dfhg4zgnu8klt", "cheap scrypt pw", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 8, 2),
Vector("go-nostr 0.52.3", "spec-key-ascii", "ncryptsec1qggtku4x8v2x5wys9kaf885kslc9g69u7squzxf9v7kz733znjymywgcl7j06p5agvzsya685ztkgnl87gtulwa8htl7w8dp9j45qf77dq3lqak46nchd62cm7lfwt5p4326me9gfvedlv3qgg0xn6h5", "nostr", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("go-nostr 0.52.3", "ksb0", "ncryptsec1qggrt6nkhufyfk39fh2ectkm8yc4rkpxdzq20nawkn0nef9lcx2f7qu25njy6zw8jscqqd7t9p4yhn2mhflgsaltqm6hecngcfv0ezhftcy586xd4n2xpgu0e3sxc5ht4phe2pkrpz4u9n0u4vgggrjj", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 0),
Vector("go-nostr 0.52.3", "ksb1", "ncryptsec1qggt49pvsll6rd2efefsv5m6klzwr3adr6t9nuta26yjtkzmapr3falp9w7yqa3u5ktqrtj63skj44r3tfud48t739es23a38vdnqwu9dqnkv4gxj0p4guqx2l38m3tveknycj2wqjmc68lpect44efl", "correct horse battery", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 1),
Vector("go-nostr 0.52.3", "nfkc-typed-form", "ncryptsec1qggp6pz4dk3jsv2k79razl0j0zd35hry3qkd74a4e2qstnsc7h3etcdhwrt2av0a7v5q97vzw7pmnawpxeadt4lxcqj9s25hfheqfudakdkuk8kmczkuq60z8xxz8emm34yu4mkgt6t7jpve0vasa0pm", "\u212B\u2126\u1E9B\u0323", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("go-nostr 0.52.3", "emoji", "ncryptsec1qggx7yhdu7smxvxmszep4wzunthhdxpwnp85yjrkx44gq7u63ylvppp4nez95xlkjafq9270j8g5lsj2tlxf3lv5ecemgcrlu2789zse0a2ywjyf7twxzatz5m3ckt3cj0xth5le35msu7y0wywnuhd4", "\uD83D\uDD11\uD83D\uDD12 key lock \uD83E\uDDE1", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("go-nostr 0.52.3", "spaces", "ncryptsec1qgggqt59jswdm0ph58z45sqynzdpjak894ndu9ueykm9qdnccptnkwz6rsvfmfkhulwsy9atea9jqdqpenfhpqsmgckjw9vr64p4vqznfsua8ty0f9j0y6enk24xfulqy3n04wvj774ct6sg3yfghqdx", " leading and trailing ", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("go-nostr 0.52.3", "empty-password", "ncryptsec1qgg2tmxquvf9924env8er4dxlctjglqqrtksjhnnwu0qvapzn6trs36lqmsswnwvy29s9sdrap2m8m6656hytvr99k9364eqqsy9xe4jyd6ntetvvxnvcxl6ktlpt4dw9yjxe5w9mqhl2ywj8guslyp4", "", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 16, 2),
Vector("go-nostr 0.52.3", "all-high-bytes", "ncryptsec1qggyhcn43gycdv5hftawfywfje8w3hzj5pr4g8v70q9x49vgutfeda8lx0syku8lcras90vzt9hzzdl2t60wnytrkcfhya5t6gkrajkjkdq25t3thlcxmhhklkte7nn6ktfqsys8ynmscwy6cutzpfj2", "high bytes key!", "8080808080808080808080808080808080808080808080808080808080808080", 16, 2),
Vector("go-nostr 0.52.3", "logn8", "ncryptsec1qgyqqtmjm9k402reqysneeg8fj700l6sd03vmjwlt6g2waxrg4de2hs5q2jrtktt72uqynxqa76hsz2kfm7834pra0rwjlcgwy920r7uhg797zw63d6a0aee64wqxugxxflzynrhzvt2c2zk2s9u7cxl", "cheap scrypt pw", "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683", 8, 2),
)
@Test
fun decryptsEveryForeignVector() {
val nip49 = Nip49()
vectors.forEach {
val label = "${it.producer} / ${it.case}"
val info = Nip49.EncryptedInfo.decodePayload(it.ncryptsec)!!
assertEquals(2, info.version.toInt(), label)
assertEquals(it.logn, info.logn.toInt(), label)
assertEquals(it.ksb, info.keySecurity.toInt(), label)
assertEquals(it.secretKeyHex, nip49.decrypt(it.ncryptsec, it.password), label)
}
}
}
@@ -0,0 +1,135 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.quartz.nip49PrivKeyEnc
import com.vitorpamplona.quartz.nip19Bech32.Bech32Transcription
import com.vitorpamplona.quartz.nip19Bech32.bech32.bechToBytes
import com.vitorpamplona.quartz.nip44Encryption.crypto.XChaCha20Poly1305
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertNotEquals
/**
* NIP-49 conformance on the JVM. The device test (androidDeviceTest/NIP49Test) covers the
* same vectors but runs in neither `./gradlew test` nor pre-push, so nothing on the
* default path proved the spec vectors still decrypt.
*/
class Nip49SpecTest {
private val nip49 = Nip49()
private val specNcryptsec = "ncryptsec1qgg9947rlpvqu76pj5ecreduf9jxhselq2nae2kghhvd5g7dgjtcxfqtd67p9m0w57lspw8gsq6yphnm8623nsl8xn9j4jdzz84zm3frztj3z7s35vpzmqf6ksu8r89qk5z2zxfmu5gv8th8wclt0h4p"
private val specKey = "3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683"
@Test
fun decryptsTheSpecVector() {
assertEquals(specKey, nip49.decrypt(specNcryptsec, "nostr"))
}
@Test
fun specVectorFieldsDecode() {
val info = Nip49.EncryptedInfo.decodePayload(specNcryptsec)!!
assertEquals(0x02.toByte(), info.version)
assertEquals(16.toByte(), info.logn)
assertEquals(16, info.salt.size)
assertEquals(24, info.nonce.size)
assertEquals(48, info.encryptedKey.size)
}
@Test
fun encryptProducesA91BytePayloadWithVersion2() {
val payload = nip49.encrypt(specKey, "nostr").bechToBytes()
assertEquals(91, payload.size)
assertEquals(0x02.toByte(), payload[0])
assertEquals(16.toByte(), payload[1])
assertEquals(Nip49.EncryptedInfo.CLIENT_DOES_NOT_TRACK, payload[2 + 16 + 24])
}
@Test
fun encryptionIsNonDeterministic() {
assertNotEquals(nip49.encrypt(specKey, "nostr"), nip49.encrypt(specKey, "nostr"))
}
@Test
fun passwordsAreNfkcNormalized() {
// Spec vector: U+212B U+2126 U+1E9B U+0323 normalizes to U+00C5 U+03A9 U+1E69.
val typed = "ÅΩẛ̣"
val normalized = "ÅΩṩ"
assertNotEquals(typed, normalized)
val encrypted = nip49.encrypt(specKey, typed, 8, Nip49.EncryptedInfo.CLIENT_DOES_NOT_TRACK)
assertEquals(specKey, nip49.decrypt(encrypted, normalized))
}
@Test
fun wrongPasswordIsRejected() {
assertFailsWith<IllegalStateException> { nip49.decrypt(specNcryptsec, "nostr2") }
}
@Test
fun anyNonEmptyPasswordShapeRoundTrips() {
// NIP-49 puts no length or character-class rules on the password.
listOf("a", " ", " leading and trailing ", "ção", "🔑🔒", "x".repeat(1000)).forEach {
val encrypted = nip49.encrypt(specKey, it, 8, Nip49.EncryptedInfo.CLIENT_DOES_NOT_TRACK)
assertEquals(specKey, nip49.decrypt(encrypted, it))
}
}
@Test
fun keysWithNoPositiveSignedByteDecrypt() {
// Every byte >= 0x80 is negative as a signed Kotlin Byte. A valid key (well below
// the secp256k1 order), so the correct password must decrypt it.
val key = "80".repeat(32)
val encrypted = nip49.encrypt(key, "nostr", 8, Nip49.EncryptedInfo.CLIENT_DOES_NOT_TRACK)
assertEquals(key, nip49.decrypt(encrypted, "nostr"))
}
@Test
fun handCopiedNcryptsecDecrypts() {
val handCopied = Bech32Transcription.groups(specNcryptsec.uppercase()).joinToString("\n") { it.joinToString("-") }
assertEquals(specKey, nip49.decrypt(Bech32Transcription.normalize(handCopied), "nostr"))
}
@Test
fun passwordLengthCountsNormalizedCodePoints() {
assertEquals(11, Nip49.passwordLength("x".repeat(11)))
assertEquals(false, Nip49.isLongEnough("x".repeat(11)))
assertEquals(true, Nip49.isLongEnough("x".repeat(12)))
// A surrogate-pair emoji is one character, not two.
assertEquals(1, Nip49.passwordLength("\uD83D\uDD11"))
// The spec's normalization vector: 4 code points typed, 3 after NFKC.
assertEquals(3, Nip49.passwordLength("\u212B\u2126\u1E9B\u0323"))
}
@Test
fun authenticatedButShortCiphertextIsRejected() {
// A tag-valid payload that encrypts only 16 bytes must not decode as a zero-padded key.
val password = "nostr"
val salt = ByteArray(16) { it.toByte() }
val nonce = ByteArray(24) { (it + 1).toByte() }
val ksb = Nip49.EncryptedInfo.CLIENT_DOES_NOT_TRACK
val key = SCrypt.scrypt(password.encodeToByteArray(), salt, 2, 8, 1, 32)
val shortCiphertext = XChaCha20Poly1305.encrypt(ByteArray(16) { 7 }, byteArrayOf(ksb), nonce, key)
val info = Nip49.EncryptedInfo(Nip49.EncryptedInfo.V, 1, salt, nonce, ksb, shortCiphertext)
assertFailsWith<IllegalStateException> { nip49.decrypt(info, password) }
}
}