Merge remote-tracking branch 'upstream/main' into gallery

This commit is contained in:
Believethehype
2024-06-30 18:02:43 +02:00
10 changed files with 218 additions and 53 deletions
+2 -2
View File
@@ -12,8 +12,8 @@ android {
applicationId "com.vitorpamplona.amethyst"
minSdk 26
targetSdk 34
versionCode 383
versionName "0.88.6"
versionCode 385
versionName "0.88.8"
buildConfigField "String", "RELEASE_NOTES_ID", "\"2a34cbadd03212c8162e1ff896ba12641821088a2ec8d5e40d54aa80c0510800\""
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -55,10 +55,17 @@ class EventNotificationConsumer(
// PushNotification Wraps don't include a receiver.
// Test with all logged in accounts
var matchAccount = false
LocalPreferences.allSavedAccounts().forEach {
if (it.hasPrivKey || it.loggedInWithExternalSigner) {
if (!matchAccount && it.hasPrivKey || it.loggedInWithExternalSigner) {
LocalPreferences.loadCurrentAccountFromEncryptedStorage(it.npub)?.let { acc ->
consumeIfMatchesAccount(event, acc)
Log.d("EventNotificationConsumer", "New Notification Testing if for ${it.npub}")
try {
consumeIfMatchesAccount(event, acc)
matchAccount = true
} catch (e: Exception) {
// Not for this account.
}
}
}
}
@@ -71,7 +78,7 @@ class EventNotificationConsumer(
pushWrappedEvent.cachedGift(account.signer) { notificationEvent ->
val consumed = LocalCache.hasConsumed(notificationEvent)
val verified = LocalCache.justVerify(notificationEvent)
Log.d("EventNotificationConsumer", "New Notification Arrived for ${account.userProfile().toBestDisplayName()} consumed= $consumed && verified= $verified")
Log.d("EventNotificationConsumer", "New Notification ${notificationEvent.kind} ${notificationEvent.id} Arrived for ${account.userProfile().toBestDisplayName()} consumed= $consumed && verified= $verified")
if (!consumed && verified) {
Log.d("EventNotificationConsumer", "New Notification was verified")
unwrapAndConsume(notificationEvent, account) { innerEvent ->
@@ -154,6 +161,7 @@ class EventNotificationConsumer(
event.id,
content,
user,
event.createdAt,
userPicture,
noteUri,
applicationContext,
@@ -194,7 +202,7 @@ class EventNotificationConsumer(
val userPicture = note.author?.profilePicture()
val noteUri = note.toNEvent()
notificationManager()
.sendDMNotification(event.id, content, user, userPicture, noteUri, applicationContext)
.sendDMNotification(event.id, content, user, event.createdAt, userPicture, noteUri, applicationContext)
}
}
}
@@ -237,31 +245,63 @@ class EventNotificationConsumer(
val author = LocalCache.getOrCreateUser(it.pubKey)
val senderInfo = Pair(author, it.content.ifBlank { null })
acc.decryptContent(noteZapped) {
Log.d("EventNotificationConsumer", "Notify Decrypted if Private Note")
if (noteZapped.event?.content() != null) {
acc.decryptContent(noteZapped) {
Log.d("EventNotificationConsumer", "Notify Decrypted if Private Note")
val zappedContent = it.split("\n").get(0)
val zappedContent = it.split("\n").get(0)
val user = senderInfo.first.toBestDisplayName()
var title = stringRes(applicationContext, R.string.app_notification_zaps_channel_message, amount)
senderInfo.second?.ifBlank { null }?.let { title += " ($it)" }
var content =
stringRes(
applicationContext,
R.string.app_notification_zaps_channel_message_from,
user,
)
zappedContent.let {
content +=
" " +
stringRes(
applicationContext,
R.string.app_notification_zaps_channel_message_for,
zappedContent,
)
}
val userPicture = senderInfo?.first?.profilePicture()
val noteUri = "nostr:Notifications"
Log.d("EventNotificationConsumer", "Notify ${event.id} $content $title $noteUri")
notificationManager()
.sendZapNotification(
event.id,
content,
title,
event.createdAt,
userPicture,
noteUri,
applicationContext,
)
}
} else {
// doesn't have a base note to refer to.
Log.d("EventNotificationConsumer", "Notify Zapped note not available")
val user = senderInfo.first.toBestDisplayName()
var title = stringRes(applicationContext, R.string.app_notification_zaps_channel_message, amount)
senderInfo.second?.ifBlank { null }?.let { title += " ($it)" }
var content =
val content =
stringRes(
applicationContext,
R.string.app_notification_zaps_channel_message_from,
user,
)
zappedContent.let {
content +=
" " +
stringRes(
applicationContext,
R.string.app_notification_zaps_channel_message_for,
zappedContent,
)
}
val userPicture = senderInfo?.first?.profilePicture()
val userPicture = senderInfo.first.profilePicture()
val noteUri = "nostr:Notifications"
Log.d("EventNotificationConsumer", "Notify ${event.id} $content $title $noteUri")
@@ -271,6 +311,7 @@ class EventNotificationConsumer(
event.id,
content,
title,
event.createdAt,
userPicture,
noteUri,
applicationContext,
@@ -90,6 +90,7 @@ object NotificationUtils {
id: String,
messageBody: String,
messageTitle: String,
time: Long,
pictureUrl: String?,
uri: String,
applicationContext: Context,
@@ -101,6 +102,7 @@ object NotificationUtils {
id,
messageBody,
messageTitle,
time,
pictureUrl,
uri,
channelId,
@@ -113,6 +115,7 @@ object NotificationUtils {
id: String,
messageBody: String,
messageTitle: String,
time: Long,
pictureUrl: String?,
uri: String,
applicationContext: Context,
@@ -124,6 +127,7 @@ object NotificationUtils {
id,
messageBody,
messageTitle,
time,
pictureUrl,
uri,
channelId,
@@ -136,6 +140,7 @@ object NotificationUtils {
id: String,
messageBody: String,
messageTitle: String,
time: Long,
pictureUrl: String?,
uri: String,
channelId: String,
@@ -151,6 +156,7 @@ object NotificationUtils {
id = id,
messageBody = messageBody,
messageTitle = messageTitle,
time = time,
picture = imageResult.drawable as? BitmapDrawable,
uri = uri,
channelId,
@@ -162,6 +168,7 @@ object NotificationUtils {
id = id,
messageBody = messageBody,
messageTitle = messageTitle,
time = time,
picture = null,
uri = uri,
channelId,
@@ -175,6 +182,7 @@ object NotificationUtils {
id: String,
messageBody: String,
messageTitle: String,
time: Long,
picture: BitmapDrawable?,
uri: String,
channelId: String,
@@ -218,6 +226,7 @@ object NotificationUtils {
.setContentIntent(contentPendingIntent)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setAutoCancel(true)
.setWhen(time * 1000)
// Build the notification
val builder =
@@ -236,6 +245,7 @@ object NotificationUtils {
.setPublicVersion(builderPublic.build())
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setAutoCancel(true)
.setWhen(time * 1000)
notify(notId, builder.build())
}
+22 -7
View File
@@ -14,6 +14,7 @@
<string name="could_not_decrypt_the_message">Nepodařilo se dešifrovat zprávu</string>
<string name="group_picture">Obrázek skupiny</string>
<string name="explicit_content">Explicitní obsah</string>
<string name="spam">Nevyžádaná pošta</string>
<string name="spam_description">Počet spamových událostí z tohoto relé</string>
<string name="impersonation">Zneužívání identity</string>
<string name="illegal_behavior">Nezákonné jednání</string>
@@ -102,6 +103,7 @@
<string name="add_a_relay">Přidat přeposílání</string>
<string name="display_name">Zobrazované jméno</string>
<string name="my_display_name">Moje zobrazované jméno</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Vítejte Ostrich!</string>
<string name="username">Uživatelské jméno</string>
<string name="my_username">Moje uživatelské jméno</string>
@@ -197,6 +199,9 @@
<string name="nip_05">Nostr Adresa</string>
<string name="never">nikdy</string>
<string name="now">nyní</string>
<string name="h">h</string>
<string name="m">m</string>
<string name="d">d</string>
<string name="nudity">Nahota</string>
<string name="profanity_hateful_speech">Neslušnost / Nenávistná řeč</string>
<string name="report_hateful_speech">Nahlásit nenávistnou řeč</string>
@@ -297,6 +302,7 @@
<string name="poll_zap_value_min">Minimální zaps</string>
<string name="poll_zap_value_max">Maximální zaps</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_consensus_threshold_percent">(0100)%</string>
<string name="poll_closing_time">Uzavřít po</string>
<string name="poll_closing_time_days">dnech</string>
<string name="poll_unable_to_vote">Nebylo možné hlasovat</string>
@@ -359,6 +365,7 @@
<string name="app_notification_dms_channel_description">Upozorní vás, když dorazí soukromá zpráva</string>
<string name="app_notification_zaps_channel_name">Přijaté zapsy</string>
<string name="app_notification_zaps_channel_description">Upozorní vás, když vás někdo zapsne</string>
<string name="app_notification_zaps_channel_message">%1$s satů</string>
<string name="app_notification_zaps_channel_message_from">Od %1$s</string>
<string name="app_notification_zaps_channel_message_for">pro %1$s</string>
<string name="reply_notify">Upozornit: </string>
@@ -410,6 +417,7 @@
<string name="minimum_pow">Minimální PoW</string>
<string name="auth">Ověření</string>
<string name="payment">Platba</string>
<string name="cashu">Cashu Token</string>
<string name="cashu_redeem">Vyměnit</string>
<string name="cashu_redeem_to_zap">Poslat do Zap peněženky</string>
<string name="cashu_redeem_to_cashu">Otevřít v Cashu Wallet</string>
@@ -417,6 +425,7 @@
<string name="no_lightning_address_set">Není nastavena žádná Lightning adresa</string>
<string name="copied_token_to_clipboard">Token zkopírován do schránky</string>
<string name="live_stream_live_tag">ŽIVĚ</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">UKONČENO</string>
<string name="live_stream_planned_tag">PLÁNOVÁNO</string>
<string name="live_stream_is_offline">Živé vysílání je offline</string>
@@ -437,6 +446,7 @@
<string name="settings">Nastavení</string>
<string name="connectivity_type_always">Vždy</string>
<string name="connectivity_type_wifi_only">Pouze Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">Neomezená WiFi</string>
<string name="connectivity_type_never">Nikdy</string>
<string name="ui_feature_set_type_complete">Hotovo</string>
<string name="ui_feature_set_type_simplified">Zjednodušené</string>
@@ -503,6 +513,7 @@
<string name="poll_zap_value_min_max_explainer">Hlasy jsou váženy podle hodnoty zapu. Můžete nastavit minimální částku, abyste se vyhnuli spammerům, a maximální částku, abyste zabránili velkým zapperům, kteří by mohli ovládnout hlasování. Použijte stejnou částku v obou polích, aby byla hodnota každého hlasu stejná. Nechte prázdné pro přijetí libovolné částky.</string>
<string name="error_dialog_zap_error">Nelze odeslat zap</string>
<string name="error_dialog_talk_to_user">Poslat zprávu uživateli</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Nepodařilo se dosáhnout %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Nepodařilo se sestavit adresu URL NIP-11 pro %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Nepodařilo se dosáhnout %1$s: %2$s</string>
@@ -524,6 +535,7 @@
<string name="missing_lud16">Chybí nastavení blesku</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Uživatel %1$s nemá nastavenou bleskovou adresu pro přijímání satoshi</string>
<string name="zap_split_weight">Procenta</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Rozdělování Zapů s</string>
<string name="forwarding_zaps_to">Přeposílání Zapů na</string>
<string name="lightning_wallets_not_found2">Bleskové peněženky nenalezený</string>
@@ -590,9 +602,11 @@
<string name="hi_there_is_this_still_available">Ahoj, je to stále k dispozici?</string>
<string name="classifieds">Prodat předmět</string>
<string name="classifieds_title">Název</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Stav</string>
<string name="classifieds_category">Kategorie</string>
<string name="classifieds_price">Cena (v Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Místo</string>
<string name="classifieds_location_placeholder">Město, stát, země</string>
<string name="classifieds_condition_new">Nový</string>
@@ -611,6 +625,7 @@
<string name="classifieds_category_books">Knihy</string>
<string name="classifieds_category_pets">Domácí zvířata</string>
<string name="classifieds_category_sports">Sportovní</string>
<string name="classifieds_category_fitness">Fitness</string>
<string name="classifieds_category_art">Umění</string>
<string name="classifieds_category_crafts">Vyrobí</string>
<string name="classifieds_category_home">Domovský</string>
@@ -625,6 +640,8 @@
<string name="server_did_not_provide_a_url_after_uploading">Server po nahrání neposkytl URL</string>
<string name="could_not_download_from_the_server">Nepodařilo se stáhnout nahraná média ze serveru</string>
<string name="could_not_prepare_local_file_to_upload">Nelze připravit místní soubor k nahrání: %1$s</string>
<string name="failed_to_upload_with_message">Nahrání selhalo: %1$s</string>
<string name="failed_to_delete_with_message">Smazání selhalo: %1$s</string>
<string name="edit_draft">Upravit koncept</string>
<string name="login_with_qr_code">Přihlášení pomocí QR kódu</string>
<string name="route">Trasa</string>
@@ -644,6 +661,8 @@
<string name="reply_description">Odpověď</string>
<string name="boost_or_quote_description">Zvýšit nebo citovat</string>
<string name="like_description">Olajkovat</string>
<string name="zap_description">Zap</string>
<string name="change_reaction">Změnit rychlé reakce</string>
<string name="profile_image_of_user">Obrázek profilu %1$s</string>
<string name="relay_info">Relé %1$s</string>
<string name="expand_relay_list">Rozbalit seznam relací</string>
@@ -658,6 +677,7 @@
<string name="cancel_zapraiser">Zrušit Zap-zběrku</string>
<string name="add_location">Místo</string>
<string name="remove_location">Odstranit umístění</string>
<string name="add_zap_split">Zap splits</string>
<string name="cancel_zap_split">Zrušit rozdělení Zap</string>
<string name="add_content_warning">Přidat upozornění na obsah</string>
<string name="remove_content_warning">Odstranit upozornění na obsah</string>
@@ -702,9 +722,11 @@
<string name="max_limit">Maximální limit</string>
<string name="restricted_writes">Omezené zápisy</string>
<string name="forked_from">Rozštěpováno od</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git repositář: %1$s</string>
<string name="git_web_address">Internet:</string>
<string name="git_clone_address">Klon:</string>
<string name="existed_since">OTS: %1$s</string>
<string name="ots_info_title">Důkaz časového razítka</string>
<string name="ots_info_description">Existuje důkaz, že tento příspěvek byl podepsán někdy před %1$s. Důkaz byl označen v Bitcoin blockchainu v tomto datu a čase.</string>
<string name="edit_post">Upravit příspěvek</string>
@@ -732,7 +754,6 @@
<string name="dvm_requesting_job">Žádost o práci od DVM</string>
<string name="nwc_payment_request">Žádost o platbu odeslána, čeká se na potvrzení z vaší peněženky</string>
<string name="dvm_waiting_to_confirm_payment">Čekání na potvrzení platby DVM nebo na zaslání výsledků</string>
<string name="http_status_400">Špatný požadavek - Server nemůže nebo nechce zpracovat požadavek.</string>
<string name="http_status_401">Neautorizovaný - Uživatel nemá platné přihlašovací údaje</string>
<string name="http_status_402">Požadována platba - Server vyžaduje platbu pro dokončení požadavku</string>
@@ -752,7 +773,6 @@
<string name="http_status_416">Rozsah nesplnitelný - Server nemůže splnit hodnotu uvedenou v hlavičce rozsahu požadavku.</string>
<string name="http_status_417">Očekávání selhalo - Server nemůže splnit požadavky uvedené v hlavičce očekávání požadavku</string>
<string name="http_status_426">Vyžadována aktualizace - Server odmítá zpracovat požadavek s aktuálním protokolem, pokud klient neaktualizuje na jiný protokol.</string>
<string name="http_status_500">Interní chyba serveru - Server narazil na neočekávanou chybu a nemůže dokončit požadavek</string>
<string name="http_status_501">Nerealizováno - Server nemůže splnit požadavek nebo nerozpoznává metodu požadavku</string>
<string name="http_status_502">Špatná brána - Server funguje jako brána a obdržel neplatnou odpověď od hostitele</string>
@@ -763,9 +783,4 @@
<string name="http_status_507">Nedostatečné úložiště - Server nemá dostatek úložiště, aby úspěšně zpracoval požadavek</string>
<string name="http_status_508">Detekována smyčka - Server detekuje nekonečnou smyčku při zpracování požadavku</string>
<string name="http_status_511">Vyžadováno ověření sítě - Klient musí být autentizován, aby získal přístup k síti</string>
<string name="connectivity_type_unmetered_wifi_only">Neomezená WiFi</string>
<string name="failed_to_upload_with_message">Nahrání selhalo: %1$s</string>
<string name="failed_to_delete_with_message">Smazání selhalo: %1$s</string>
<string name="change_reaction">Změnit rychlé reakce</string>
</resources>
+34 -7
View File
@@ -14,6 +14,7 @@
<string name="could_not_decrypt_the_message">Nachricht konnte nicht entschlüsselt werden</string>
<string name="group_picture">Gruppenbild</string>
<string name="explicit_content">Anstößiger Inhalt</string>
<string name="spam">Spam</string>
<string name="spam_description">Anzahl der Spam-Ereignisse von diesem Relais</string>
<string name="impersonation">Vortäuschung</string>
<string name="illegal_behavior">Illegales Verhalten</string>
@@ -44,11 +45,15 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um nicht mehr zu folgen</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Sie verwenden einen öffentlichen Schlüssel, und öffentliche Schlüssel sind nur lesbar. Melden Sie sich mit einem privaten Schlüssel an, um ein Wort oder einen Satz auszublenden</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um ein Wort oder einen Satz anzeigen zu können</string>
<string name="zaps">Zaps</string>
<string name="view_count">Aufrufe</string>
<string name="boost">Boost</string>
<string name="boosted">boosted</string>
<string name="edited">bearbeitet</string>
<string name="edited_number">Bearbeitung #%1$s</string>
<string name="original">Original</string>
<string name="quote">Zitat</string>
<string name="fork">Fork</string>
<string name="propose_an_edit">Eine Bearbeitung vorschlagen</string>
<string name="new_amount_in_sats">Neuer Betrag in Sats</string>
<string name="add">Hinzufügen</string>
@@ -87,6 +92,7 @@
<string name="failed_to_upload_the_image">Fehler beim Hochladen des Bildes</string>
<string name="relay_address">Relay-Adresse</string>
<string name="posts">Beiträge</string>
<string name="bytes">Bytes</string>
<string name="errors">Fehler</string>
<string name="errors_description">Anzahl der Verbindungsfehler in dieser Sitzung</string>
<string name="home_feed">Startseite</string>
@@ -97,6 +103,7 @@
<string name="add_a_relay">Relay hinzufügen</string>
<string name="display_name">Anzeigename</string>
<string name="my_display_name">Mein Anzeigename</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Willkommen Ostrich!</string>
<string name="username">Benutzername</string>
<string name="my_username">Mein Benutzername</string>
@@ -197,6 +204,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="never">nie</string>
<string name="now">jetzt</string>
<string name="h">s</string>
<string name="m">m</string>
<string name="d">t</string>
<string name="nudity">Nacktheit</string>
<string name="profanity_hateful_speech">Beleidigungen / Hassrede</string>
@@ -300,6 +308,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="poll_zap_value_min">Mindest-Zap-Betrag</string>
<string name="poll_zap_value_max">Maximaler Zap-Betrag</string>
<string name="poll_consensus_threshold">Konsens</string>
<string name="poll_consensus_threshold_percent">(0100)%</string>
<string name="poll_closing_time">Schließen nach</string>
<string name="poll_closing_time_days">Tagen</string>
<string name="poll_unable_to_vote">Konnte nicht abstimmen</string>
@@ -391,6 +400,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="read_from_relay_description">Die Menge in Bytes, die von diesem Relais empfangen wurde, einschließlich Filter und Ereignisse</string>
<string name="an_error_occurred_trying_to_get_relay_information">Ein Fehler ist beim Abrufen von Relay-Informationen von %1$s aufgetreten</string>
<string name="owner">Inhaber</string>
<string name="version">Version</string>
<string name="software">Programme</string>
<string name="contact">Kontakt</string>
<string name="supports">Unterstützte NIPs</string>
@@ -399,6 +409,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="limitations">Einschränkungen</string>
<string name="countries">Länder</string>
<string name="languages">Sprachen</string>
<string name="tags">Tags</string>
<string name="posting_policy">Veröffentlichungsrichtlinie</string>
<string name="relay_error_messages">Fehler und Hinweise von diesem Relais</string>
<string name="message_length">Nachrichtenlänge</string>
@@ -418,6 +429,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="cashu_copy_token">Token kopieren</string>
<string name="no_lightning_address_set">Keine Lightning-Adresse festgelegt</string>
<string name="copied_token_to_clipboard">Token in die Zwischenablage kopiert</string>
<string name="live_stream_live_tag">LIVE</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">BEENDET</string>
<string name="live_stream_planned_tag">GEPLANT</string>
<string name="live_stream_is_offline">Livestream ist offline</string>
@@ -427,7 +440,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="relay_setup">Relais</string>
<string name="discover_content">Notizen Entdeckung</string>
<string name="discover_marketplace">Marktplatz</string>
<string name="discover_live">Live</string>
<string name="discover_community">Gemeinschaft</string>
<string name="discover_chat">Plaudern</string>
<string name="community_approved_posts">Genehmigte Beiträge</string>
<string name="groups_no_descriptor">Diese Gruppe hat keine Beschreibung oder Regeln. Sprechen Sie mit dem Eigentümer, um eine hinzuzufügen.</string>
<string name="community_no_descriptor">Diese Community hat keine Beschreibung. Sprechen Sie mit dem Eigentümer, um eine hinzuzufügen.</string>
@@ -436,10 +451,12 @@ anz der Bedingungen ist erforderlich</string>
<string name="settings">Einstellungen</string>
<string name="connectivity_type_always">Immer</string>
<string name="connectivity_type_wifi_only">Nur WLAN</string>
<string name="connectivity_type_unmetered_wifi_only">Unbegrenztes WLAN</string>
<string name="connectivity_type_never">Nie</string>
<string name="ui_feature_set_type_complete">Fertig</string>
<string name="ui_feature_set_type_simplified">Vereinfacht</string>
<string name="ui_feature_set_type_performance">Leistung</string>
<string name="system">System</string>
<string name="light">Hell</string>
<string name="dark">Dunkel</string>
<string name="application_preferences">Anwendungseinstellungen</string>
@@ -501,6 +518,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="poll_zap_value_min_max_explainer">Die Abstimmungen werden nach der Höhe des Zaps gewichtet. Sie können einen Mindestbetrag festlegen, um Spam zu verhindern, und einen Höchstbetrag, um zu verhindern, dass große Zapper die Abstimmung dominieren. Verwenden Sie denselben Betrag in beiden Feldern, um sicherzustellen, dass jeder Stimme der gleiche Wert zukommt. Lassen Sie es leer, um jeden Betrag zu akzeptieren.</string>
<string name="error_dialog_zap_error">Zap konnte nicht gesendet werden</string>
<string name="error_dialog_talk_to_user">Mit dem Benutzer kommunizieren</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Konnte %1$s nicht erreichen: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Fehler beim Zusammenstellen der NIP-11-URL für %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Konnte %1$s nicht erreichen: %2$s</string>
@@ -512,6 +530,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="active_for">Aktiv für: </string>
<string name="active_for_home">Startseite</string>
<string name="active_for_msg">Nachrichten</string>
<string name="active_for_chats">Plaudern</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Suche</string>
<string name="zap_split_title">Zaps aufteilen und weiterleiten</string>
<string name="zap_split_explainer">Unterstützende Clients werden Zaps an die hier hinzugefügten Benutzer aufteilen und weiterleiten, anstatt an Sie</string>
@@ -520,6 +540,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="missing_lud16">Fehlende Lightning-Konfiguration</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Benutzer %1$s hat keine Lightning-Adresse eingerichtet, um Sats zu empfangen</string>
<string name="zap_split_weight">Prozent</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Zaps aufteilen mit</string>
<string name="forwarding_zaps_to">Zaps weiterleiten an</string>
<string name="lightning_wallets_not_found2">Lightning-Wallets nicht gefunden</string>
@@ -586,9 +607,11 @@ anz der Bedingungen ist erforderlich</string>
<string name="hi_there_is_this_still_available">Hallo, ist das noch verfügbar?</string>
<string name="classifieds">Artikel verkaufen</string>
<string name="classifieds_title">Titel</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Zustand</string>
<string name="classifieds_category">Kategorie</string>
<string name="classifieds_price">Preis (in Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Ort</string>
<string name="classifieds_location_placeholder">Stadt, Staat, Land</string>
<string name="classifieds_condition_new">Neu</string>
@@ -607,6 +630,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="classifieds_category_books">Bücher</string>
<string name="classifieds_category_pets">Haustiere</string>
<string name="classifieds_category_sports">Sport</string>
<string name="classifieds_category_fitness">Fitness</string>
<string name="classifieds_category_art">Kunst</string>
<string name="classifieds_category_crafts">Handwerk</string>
<string name="classifieds_category_home">Zuhause</string>
@@ -621,13 +645,17 @@ anz der Bedingungen ist erforderlich</string>
<string name="server_did_not_provide_a_url_after_uploading">Der Server hat nach dem Hochladen keine URL angegeben</string>
<string name="could_not_download_from_the_server">Hochgeladene Medien konnten nicht vom Server heruntergeladen werden</string>
<string name="could_not_prepare_local_file_to_upload">Lokale Datei konnte nicht zum Hochladen vorbereitet werden: %1$s</string>
<string name="failed_to_upload_with_message">Upload fehlgeschlagen: %1$s</string>
<string name="failed_to_delete_with_message">Löschen fehlgeschlagen: %1$s</string>
<string name="edit_draft">Entwurf bearbeiten</string>
<string name="login_with_qr_code">Einloggen mit QR-Code</string>
<string name="route">Route</string>
<string name="route_home">Startseite</string>
<string name="route_search">Suche</string>
<string name="route_discover">Entdecken</string>
<string name="route_messages">Nachrichten</string>
<string name="route_notifications">Benachrichtigungen</string>
<string name="route_global">Global</string>
<string name="route_video">Kurzfilme</string>
<string name="route_security_filters">Sicherheitsfilter</string>
<string name="new_post">Neuer Beitrag</string>
@@ -638,6 +666,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="reply_description">Antworten</string>
<string name="boost_or_quote_description">Boosten oder Zitieren</string>
<string name="like_description">Gefällt mir</string>
<string name="zap_description">Zap</string>
<string name="change_reaction">Schnelle Reaktionen ändern</string>
<string name="profile_image_of_user">Profilbild von %1$s</string>
<string name="relay_info">%1$s weiterleiten</string>
<string name="expand_relay_list">Rela-Liste erweitern</string>
@@ -692,12 +722,16 @@ anz der Bedingungen ist erforderlich</string>
<string name="donate_now">Jetzt spenden</string>
<string name="brought_to_you_by">wurde Ihnen präsentiert von:</string>
<string name="this_version_brought_to_you_by">Diese Version wurde Ihnen präsentiert von:</string>
<string name="version_name">Version %1$s</string>
<string name="thank_you">Vielen Dank!</string>
<string name="max_limit">Maximallimit</string>
<string name="restricted_writes">Eingeschränkte Schriften</string>
<string name="forked_from">Geforkt von</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git Repository: %1$s</string>
<string name="git_web_address">Internet:</string>
<string name="git_clone_address">Klonen:</string>
<string name="existed_since">OTS: %1$s</string>
<string name="ots_info_title">Zeitstempel Beweis</string>
<string name="ots_info_description">Es gibt einen Beweis, dass dieser Beitrag irgendwann vor %1$s signiert wurde. Der Beweis wurde zu diesem Datum und Uhrzeit in der Bitcoin-Blockchain gestempelt.</string>
<string name="edit_post">Beitrag bearbeiten</string>
@@ -725,7 +759,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="dvm_requesting_job">Anforderung eines Jobs von DVM</string>
<string name="nwc_payment_request">Zahlungsanforderung gesendet, wartet auf Bestätigung Ihrer Geldbörse</string>
<string name="dvm_waiting_to_confirm_payment">Warten auf Bestätigung der Zahlung durch DVM oder auf die Ergebnisse</string>
<string name="http_status_400">Fehlerhafte Anfrage - Der Server kann oder will die Anfrage nicht verarbeiten.</string>
<string name="http_status_401">Nicht autorisiert - Der Benutzer hat keine gültigen Authentifizierungsdaten</string>
<string name="http_status_402">Zahlung erforderlich - Der Server verlangt eine Zahlung, um die Anfrage abzuschließen</string>
@@ -745,7 +778,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="http_status_416">Bereich nicht erfüllbar - Der Server kann den im Range-Header-Feld der Anfrage angegebenen Wert nicht erfüllen.</string>
<string name="http_status_417">Erwartung fehlgeschlagen - Der Server kann die Anforderungen, die durch den Expect-Request-Header-Feld angegeben sind, nicht erfüllen</string>
<string name="http_status_426">Upgrade erforderlich - Der Server weigert sich, die Anfrage mit dem aktuellen Protokoll zu verarbeiten, es sei denn, der Client wechselt zu einem anderen Protokoll.</string>
<string name="http_status_500">Interner Serverfehler - Der Server hat einen unerwarteten Fehler festgestellt und kann die Anfrage nicht abschließen</string>
<string name="http_status_501">Nicht implementiert - Der Server kann die Anfrage nicht erfüllen oder erkennt die Anfragemethode nicht</string>
<string name="http_status_502">Schlechtes Gateway - Der Server agiert als Gateway und erhielt eine ungültige Antwort vom Host</string>
@@ -756,9 +788,4 @@ anz der Bedingungen ist erforderlich</string>
<string name="http_status_507">Unzureichender Speicher - Der Server hat nicht genug Speicher, um die Anfrage erfolgreich zu verarbeiten</string>
<string name="http_status_508">Schleife erkannt - Der Server erkennt eine Endlosschleife, während er die Anfrage bearbeitet</string>
<string name="http_status_511">Netzwerk-Authentifizierung erforderlich - Der Client muss authentifiziert werden, um auf das Netzwerk zuzugreifen</string>
<string name="connectivity_type_unmetered_wifi_only">Unbegrenztes WLAN</string>
<string name="failed_to_upload_with_message">Upload fehlgeschlagen: %1$s</string>
<string name="failed_to_delete_with_message">Löschen fehlgeschlagen: %1$s</string>
<string name="change_reaction">Schnelle Reaktionen ändern</string>
</resources>
@@ -642,6 +642,8 @@
<string name="server_did_not_provide_a_url_after_uploading">सेवासंगणक ने आरोहण पश्चात जालपता नहीं दिया</string>
<string name="could_not_download_from_the_server">सेवासंगणक से आरोहणकृत चित्र चलचित्र का अवरोहण नहीं कर पाए</string>
<string name="could_not_prepare_local_file_to_upload">स्थानीय अभिलेख अनुकूल नहीं बना सके आरोहण के लिए : %1$s</string>
<string name="failed_to_upload_with_message">आरोहण असफल : %1$s</string>
<string name="failed_to_delete_with_message">मिटाने में असफल : %1$s</string>
<string name="edit_draft">पाण्डुलिपि का सम्पादन करें</string>
<string name="login_with_qr_code">क्यूआर॰ क्रमचित्र के साथ प्रवेशांकन करें</string>
<string name="route">मार्ग</string>
@@ -754,4 +756,22 @@
<string name="dvm_requesting_job">डीवीएम॰ से कार्य का अनुरोध किया जा रहा है</string>
<string name="nwc_payment_request">भुगतान अनुरोध भेजा गया। आपके धनकोष से पुष्टीकरण की प्रतीक्षा में</string>
<string name="dvm_waiting_to_confirm_payment">डीवीएम॰ से भुगतान की पुष्टीकरण अथवा परिणाम भेजने की प्रतीक्षा में</string>
<string name="http_status_400">बुरा अनुरोध - सेवासंगणक इस अनुरोध पर काम नहीं कर सकता अथवा नहीं करेगा।</string>
<string name="http_status_401">अनधिकृत - उपयोगकर्ता के पास प्रमाणिकरण हेतु वैध परिचयपत्र उपलब्ध नहीं</string>
<string name="http_status_402">भुगतान अनिवार्य - अनुरोध पूरा करने के लिए सेवासंगणक को भुगतान की आवश्यकता है</string>
<string name="http_status_403">वर्जित - उपयोगकर्ता को यह अनुरोध करने का अधिकार नहीं</string>
<string name="http_status_404">अप्राप्त - याचित पता ढूँढने में सेवासंगणक असफल</string>
<string name="http_status_405">कार्य की अनुमति नहीं - सेवासंगणक याचित कार्य का आलम्बन करता है पर लक्ष्यांकित संसाधन को नहीं</string>
<string name="http_status_406">अस्वीकृत - सेवासंगणक कोई विषयवस्तु नहीं ढूँढ सका जिससे अनुरोध की पूर्ति हो सके।</string>
<string name="http_status_407">प्रतिनिधि प्रमाणिकरण आवश्यक - उपयोगकर्ता के पास प्रमाणिकरण हेतु वैध परिचयपत्र उपलब्ध नहीं</string>
<string name="http_status_408">अनुरोध समयसीमा समाप्त - सेवासंगणक समयसीमा पार किया किसी अन्य की प्रतीक्षा में।</string>
<string name="http_status_409">संघर्ष - सेवासंगणक अनुरोध की पूर्ति नहीं कर सकता क्योंकि संसाधन के साथ संघर्ष है</string>
<string name="http_status_410">विगत - याचित विषयवस्तु सेवासंगणक से सर्वदा के लिए मिटाया गया है तथा पुनर्स्थापित नहीं होगा</string>
<string name="http_status_411">लम्बाई आवश्यक - सेवासंगणक ने अनुरोध अस्वीकार किया क्योंकि इस के लिए स्पष्ट विषयवस्तु लम्बाई सूचक शीर्षक चाहिए</string>
<string name="http_status_412">पूर्वावस्था असफल - अनुरोध के शीर्षक प्रपत्रस्थानों में निर्दिष्ट पूर्वावस्थाओं की पूर्ति में सेवासंगणक असफल</string>
<string name="http_status_413">भार अत्याधिक - अनुरोध सेवासंगणक के निरूपित सीमाएँ से बडा है, तथा सेवासंगणक ने इस पर काम करना नकार दिया</string>
<string name="http_status_414">जालपता लम्बाई अत्याधिक - ग्राहक द्वारा अनुरोधित जालपता की लम्बाई सेवासंगणक के काम के लिए अत्याधिक है। </string>
<string name="http_status_415">अनावलम्बित माध्यम प्रकार - अनुरोध में प्रयुक्त माध्यम प्रकार सेवासंगणक द्वारा अवलम्बित नहीं</string>
<string name="http_status_416">विस्तार असाध्य - अनुरोध के विस्तार शीर्षक प्रपत्रस्थान में सूचित मूल्य की पूर्ति सेवासंगणक द्वारा असाध्य। </string>
<string name="http_status_417">अपेक्षा असफल - अनुरोध के अपेक्षा शीर्षक प्रपत्रस्थान में सूचित आवश्यकताओं की पूर्ति सेवासंगणक के लिए असाध्य</string>
</resources>
@@ -14,6 +14,7 @@
<string name="could_not_decrypt_the_message">Não foi possível descriptografar a mensagem</string>
<string name="group_picture">Imagem do grupo</string>
<string name="explicit_content">Conteúdo explícito</string>
<string name="spam">Spam</string>
<string name="spam_description">O número de eventos de spam vindo deste relé</string>
<string name="impersonation">Representação</string>
<string name="illegal_behavior">Comportamento ilegal</string>
@@ -44,11 +45,13 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Faça login com uma chave privada para poder remover seguidores</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Você está usando uma chave pública e as chaves públicas são somente de leitura. Faça login com uma chave privada para poder ocultar uma palavra ou frase.</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Você está usando uma chave pública e as chaves públicas são somente de leitura. Faça login com uma chave privada para poder mostrar uma palavra ou frase.</string>
<string name="zaps">Zaps</string>
<string name="view_count">Contagem de visualizações</string>
<string name="boost">Impulsionar</string>
<string name="boosted">impulsionado</string>
<string name="edited">editado</string>
<string name="edited_number">edição #%1$s</string>
<string name="original">original</string>
<string name="quote">Citar</string>
<string name="fork">Garfo</string>
<string name="propose_an_edit">Propor uma Edição</string>
@@ -89,6 +92,7 @@
<string name="failed_to_upload_the_image">Falha ao enviar imagem</string>
<string name="relay_address">Endereço do Relay</string>
<string name="posts">Postagens</string>
<string name="bytes">Bytes</string>
<string name="errors">Erros</string>
<string name="errors_description">O número de erros de conexão nesta sessão</string>
<string name="home_feed">Feed principal</string>
@@ -130,6 +134,7 @@
<string name="follows">"Seguindo"</string>
<string name="reports">"Denúncias"</string>
<string name="more_options">Mais opções</string>
<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>
@@ -194,6 +199,9 @@
<string name="nip_05">Endereço Nostr</string>
<string name="never">nunca</string>
<string name="now">agora</string>
<string name="h">h</string>
<string name="m">m</string>
<string name="d">d</string>
<string name="nudity">Nudez</string>
<string name="profanity_hateful_speech">Palavrões / Discurso de ódio</string>
<string name="report_hateful_speech">Denunciar discurso de ódio</string>
@@ -294,6 +302,7 @@
<string name="poll_zap_value_min">Zap mínimo</string>
<string name="poll_zap_value_max">Zap máximo</string>
<string name="poll_consensus_threshold">Consenso</string>
<string name="poll_consensus_threshold_percent">(0100)%</string>
<string name="poll_closing_time">Fechar depois</string>
<string name="poll_closing_time_days">dias</string>
<string name="poll_unable_to_vote">Impossibilitado de votar</string>
@@ -338,6 +347,7 @@
<string name="no">Não</string>
<string name="follow_list_selection">Lista de seguidores</string>
<string name="follow_list_kind3follows">Seguindo</string>
<string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Lista Silenciada</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Conecte-se através do Tor com o Orbot
\n\n1. Instale o [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
@@ -355,6 +365,7 @@
<string name="app_notification_dms_channel_description">Notifica você quando chega uma mensagem privada</string>
<string name="app_notification_zaps_channel_name">Zaps Recebidos</string>
<string name="app_notification_zaps_channel_description">Notifica quando alguém te manda um zap</string>
<string name="app_notification_zaps_channel_message">%1$s sats</string>
<string name="app_notification_zaps_channel_message_from">De %1$s</string>
<string name="app_notification_zaps_channel_message_for">por %1$s</string>
<string name="reply_notify">Notificar: </string>
@@ -421,6 +432,7 @@
<string name="live_stream_has_ended">Transmissão ao vivo encerrada</string>
<string name="are_you_sure_you_want_to_log_out">Sair exclui todas as suas informações locais. Certifique-se de fazer backup de suas chaves privadas para evitar a perda de sua conta. Você quer continuar?</string>
<string name="followed_tags">Tags Seguidas</string>
<string name="relay_setup">Relés</string>
<string name="discover_content">Descoberta de Notas</string>
<string name="discover_marketplace">Mercado</string>
<string name="discover_live">Ao vivo</string>
@@ -434,6 +446,7 @@
<string name="settings">Configurações</string>
<string name="connectivity_type_always">Sempre</string>
<string name="connectivity_type_wifi_only">Somente wifi</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi não medida</string>
<string name="connectivity_type_never">Nunca</string>
<string name="ui_feature_set_type_complete">Concluído</string>
<string name="ui_feature_set_type_simplified">Simplificado</string>
@@ -452,6 +465,7 @@
<string name="ui_style">Modo de interface</string>
<string name="ui_style_description">Escolha o estilo da publicação</string>
<string name="load_image">Carregar imagem</string>
<string name="spamming_users">Spammers</string>
<string name="muted_button">Silenciado. Clique para ativar o som</string>
<string name="mute_button">Som ligado. Clique para silenciar</string>
<string name="search_button">Pesquise registros locais e remotos</string>
@@ -499,6 +513,7 @@
<string name="poll_zap_value_min_max_explainer">Os votos são ponderados pelo valor do zap. Você pode definir um valor mínimo para evitar spammers e um valor máximo para evitar que grandes zappers assumam o controle da enquete. Use o mesmo valor em ambos os campos para garantir que cada voto tenha o mesmo valor. Deixe em branco para aceitar qualquer valor.</string>
<string name="error_dialog_zap_error">Não foi possível enviar o Zap</string>
<string name="error_dialog_talk_to_user">Mensagem ao usuário</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Falha ao acessar %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Falha ao montar NIP-11 url para %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Falha ao acessar %1$s: %2$s</string>
@@ -511,6 +526,7 @@
<string name="active_for_home">Início</string>
<string name="active_for_msg">Mensagens diretas</string>
<string name="active_for_chats">Bate-papos</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Pesquisa</string>
<string name="zap_split_title">Dividir e encaminhar Zaps</string>
<string name="zap_split_explainer">Os clientes que suportam dividirão e encaminharão zaps para os usuários adicionados aqui em vez dos seus</string>
@@ -519,6 +535,7 @@
<string name="missing_lud16">Configuração Lightning ausente</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">O usuário %1$s não possui um endereço lightning configurado para receber sats</string>
<string name="zap_split_weight">Percentual</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Dividindo zaps com</string>
<string name="forwarding_zaps_to">Encaminhando zaps para</string>
<string name="lightning_wallets_not_found2">Carteira Lightning não encontrada</string>
@@ -585,9 +602,11 @@
<string name="hi_there_is_this_still_available">Olá, ainda está disponível?</string>
<string name="classifieds">Vender um Item</string>
<string name="classifieds_title">Título</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Condição</string>
<string name="classifieds_category">Categoria</string>
<string name="classifieds_price">Preço (em Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Localização</string>
<string name="classifieds_location_placeholder">Cidade, Estado, País</string>
<string name="classifieds_condition_new">Novo</string>
@@ -606,6 +625,7 @@
<string name="classifieds_category_books">Livros</string>
<string name="classifieds_category_pets">Animais de Estimação</string>
<string name="classifieds_category_sports">Esportes</string>
<string name="classifieds_category_fitness">Bem-estar</string>
<string name="classifieds_category_art">Arte</string>
<string name="classifieds_category_crafts">Artesanato</string>
<string name="classifieds_category_home">Casa</string>
@@ -620,6 +640,8 @@
<string name="server_did_not_provide_a_url_after_uploading">O servidor não forneceu uma URL após o upload</string>
<string name="could_not_download_from_the_server">Não foi possível baixar o arquivo de mídia carregado do servidor</string>
<string name="could_not_prepare_local_file_to_upload">Não foi possível preparar o arquivo local para enviar: %1$s</string>
<string name="failed_to_upload_with_message">Falha ao enviar: %1$s</string>
<string name="failed_to_delete_with_message">Falha ao excluir: %1$s</string>
<string name="edit_draft">Editar rascunho</string>
<string name="login_with_qr_code">Entrar com Código QR</string>
<string name="route">Rota</string>
@@ -628,6 +650,7 @@
<string name="route_discover">Descobrir</string>
<string name="route_messages">Mensagens</string>
<string name="route_notifications">Notificações</string>
<string name="route_global">Global</string>
<string name="route_video">Vídeos Curtos</string>
<string name="route_security_filters">Filtros de Segurança</string>
<string name="new_post">Novo Post</string>
@@ -638,6 +661,8 @@
<string name="reply_description">Responder</string>
<string name="boost_or_quote_description">Impulsionar ou Citar</string>
<string name="like_description">Gostar</string>
<string name="zap_description">Zap</string>
<string name="change_reaction">Mudar reações rápidas</string>
<string name="profile_image_of_user">Foto de perfil de %1$s</string>
<string name="relay_info">Repassar %1$s</string>
<string name="expand_relay_list">Expandir lista de repasse</string>
@@ -697,9 +722,11 @@
<string name="max_limit">Limite máximo</string>
<string name="restricted_writes">Gravações Restritas</string>
<string name="forked_from">Forkado de</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Repositório Git: %1$s</string>
<string name="git_web_address">Site:</string>
<string name="git_clone_address">Clonar:</string>
<string name="existed_since">OTS: %1$s</string>
<string name="ots_info_title">Prova de Carimbo de data/hora</string>
<string name="ots_info_description">Há prova de que esta postagem foi assinada antes de %1$s. A prova foi carimbada no blockchain do Bitcoin naquela data e hora.</string>
<string name="edit_post">Editar postagem</string>
@@ -727,7 +754,6 @@
<string name="dvm_requesting_job">Solicitando Trabalho ao DVM</string>
<string name="nwc_payment_request">Pedido de pagamento enviado, aguardando confirmação da sua carteira</string>
<string name="dvm_waiting_to_confirm_payment">Aguardando o DVM confirmar o pagamento ou enviar resultados</string>
<string name="http_status_400">Requisição inválida - O servidor não pode ou não irá processar a requisição.</string>
<string name="http_status_401">Não autorizado - O usuário não possui credenciais de autenticação válidas</string>
<string name="http_status_402">Pagamento necessário - O servidor requer pagamento para completar a requisição</string>
@@ -747,7 +773,6 @@
<string name="http_status_416">Faixa não satisfatória - O servidor não pode atender ao valor indicado no campo de cabeçalho Range da requisição.</string>
<string name="http_status_417">Falha na expectativa - O servidor não pode atender aos requisitos indicados pelo campo de cabeçalho Expect da requisição</string>
<string name="http_status_426">Atualização necessária - O servidor se recusa a processar a requisição com o protocolo atual, a menos que o cliente faça a atualização para um protocolo diferente.</string>
<string name="http_status_500">Erro interno do servidor - O servidor encontrou um erro inesperado e não pode completar a requisição</string>
<string name="http_status_501">Não implementado - O servidor não pode cumprir a requisição ou não reconhece o método da requisição</string>
<string name="http_status_502">Gateway inválido - O servidor atua como um gateway e recebeu uma resposta inválida do host</string>
@@ -758,9 +783,4 @@
<string name="http_status_507">Armazenamento insuficiente - O servidor não possui armazenamento suficiente para processar a requisição com sucesso</string>
<string name="http_status_508">Loop detectado - O servidor detecta um loop infinito enquanto processa a requisição</string>
<string name="http_status_511">Autenticação de rede necessária - O cliente deve ser autenticado para acessar a rede</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi não medida</string>
<string name="failed_to_upload_with_message">Falha ao enviar: %1$s</string>
<string name="failed_to_delete_with_message">Falha ao excluir: %1$s</string>
<string name="change_reaction">Mudar reações rápidas</string>
</resources>
@@ -14,6 +14,7 @@
<string name="could_not_decrypt_the_message">Kunde inte dekryptera meddelandet</string>
<string name="group_picture">Grupp bild</string>
<string name="explicit_content">Explicit Innehåll</string>
<string name="spam">Spam</string>
<string name="spam_description">Antal skräpposthändelser från detta relä</string>
<string name="impersonation">Imitation</string>
<string name="illegal_behavior">Olagligt beteende</string>
@@ -44,11 +45,13 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Logga in med en privat nyckel för att kunna sluta följa</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Du använder en offentlig nyckel, och offentliga nycklar är endast läsbara. Logga in med en privat nyckel för att kunna dölja ett ord eller en mening</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Du använder en offentlig nyckel, och offentliga nycklar är endast läsbara. Logga in med en privat nyckel för att kunna visa ett ord eller en mening</string>
<string name="zaps">Zaps</string>
<string name="view_count">Antal visningar</string>
<string name="boost">Boosta</string>
<string name="boosted">boostad</string>
<string name="edited">redigerat</string>
<string name="edited_number">redigering #%1$s</string>
<string name="original">original</string>
<string name="quote">Citera</string>
<string name="fork">Förgrening</string>
<string name="propose_an_edit">Föreslå en redigering</string>
@@ -89,6 +92,7 @@
<string name="failed_to_upload_the_image">Det gick inte att ladda upp bilden</string>
<string name="relay_address">Relä Adress</string>
<string name="posts">Inlägg</string>
<string name="bytes">Bytes</string>
<string name="errors">Fel</string>
<string name="errors_description">Antal anslutningsfel under denna session</string>
<string name="home_feed">Hem Flöde</string>
@@ -104,6 +108,8 @@
<string name="username">Användarnamn</string>
<string name="my_username">Mitt användarnamn</string>
<string name="about_me">Om mig</string>
<string name="avatar_url">Profilbild URL</string>
<string name="banner_url">Banner URL</string>
<string name="website_url">Websida URL</string>
<string name="ln_address">LN Adress</string>
<string name="ln_url_outdated">LN URL (Utdaterad)</string>
@@ -144,6 +150,7 @@
<string name="unblock_user">Sluta blockera Användare</string>
<string name="npub_hex_username">"npub, hex, användarnamn "</string>
<string name="clear">Rensa</string>
<string name="app_logo">Appens logo</string>
<string name="nsec_npub_hex_private_key">nsec / npub / hex privat nyckel</string>
<string name="ncryptsec_password">lösenord för att öppna nyckeln</string>
<string name="show_password">Visa lösenord</string>
@@ -192,6 +199,9 @@
<string name="nip_05">Nostr-adress</string>
<string name="never">aldrig</string>
<string name="now">nu</string>
<string name="h">t</string>
<string name="m">m</string>
<string name="d">d</string>
<string name="nudity">Naket</string>
<string name="profanity_hateful_speech">Svordomar / Hatiskt tal</string>
<string name="report_hateful_speech">Anmäl hattal</string>
@@ -276,6 +286,7 @@
<string name="remove_from_public_bookmarks">Ta bort från Publika Bokmärken</string>
<string name="wallet_connect_service">Wallet Connect Tjänst</string>
<string name="wallet_connect_service_explainer">Tillåter en Nostr Secret att betala zaps utan att lämna appen. Håll hemligheten säker och använd ett privat relä om möjligt</string>
<string name="wallet_connect_service_pubkey">Plånbok Anslut Pubkey</string>
<string name="wallet_connect_service_relay">Wallet Connect relä</string>
<string name="wallet_connect_service_secret">Wallet Connect hemlighet</string>
<string name="wallet_connect_service_show_secret">Visa secret key</string>
@@ -291,6 +302,7 @@
<string name="poll_zap_value_min">Minsta Zap</string>
<string name="poll_zap_value_max">Maximal Zap</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_consensus_threshold_percent">(0100)%</string>
<string name="poll_closing_time">Avsluta efter</string>
<string name="poll_closing_time_days">dagar</string>
<string name="poll_unable_to_vote">Kunde inte rösta</string>
@@ -335,6 +347,7 @@
<string name="no">Nej</string>
<string name="follow_list_selection">Följ lista</string>
<string name="follow_list_kind3follows">Alla följare</string>
<string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Tyst listan</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Anslut genom Tor med Orbot
\n\n1. Installera [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
@@ -343,6 +356,7 @@
\n4. Ändra vid behov porten i Orbot
\n5. Konfigurera Socks-porten på den här skärmen
\n6. Tryck på knappen Aktivera för att använda Orbot som proxy</string>
<string name="orbot_socks_port">Orbot Socks Port</string>
<string name="invalid_port_number">Ogiltigt portnummer</string>
<string name="use_orbot">Använd Orbot</string>
<string name="disconnect_from_your_orbot_setup">Koppla ifrån Tor/Orbot</string>
@@ -350,6 +364,7 @@
<string name="app_notification_dms_channel_description">Meddelar dig när ett privat meddelande kommer</string>
<string name="app_notification_zaps_channel_name">Zaps Mottaget</string>
<string name="app_notification_zaps_channel_description">Meddela dig när någon zappar dig</string>
<string name="app_notification_zaps_channel_message">%1$s sats</string>
<string name="app_notification_zaps_channel_message_from">Från %1$s</string>
<string name="app_notification_zaps_channel_message_for">till %1$s</string>
<string name="reply_notify">Meddela: </string>
@@ -379,6 +394,7 @@
<string name="read_from_relay_description">Mängden data i byte som mottogs från detta relä, inklusive filter och händelser</string>
<string name="an_error_occurred_trying_to_get_relay_information">Ett fel inträffade vid försök att hämta information från Relay %1$s</string>
<string name="owner">Ägare</string>
<string name="version">Version</string>
<string name="software">Programvara</string>
<string name="contact">Kontakt</string>
<string name="supports">Stödda NIPs</string>
@@ -400,12 +416,15 @@
<string name="minimum_pow">Minsta PoW</string>
<string name="auth">Autentisering</string>
<string name="payment">Betalning</string>
<string name="cashu">Cashu Token</string>
<string name="cashu_redeem">Inlösen</string>
<string name="cashu_redeem_to_zap">Skicka till Zap Plånbok</string>
<string name="cashu_redeem_to_cashu">Öppna i Cashu Plånbok</string>
<string name="cashu_copy_token">Kopiera Token</string>
<string name="no_lightning_address_set">Ingen Lightning-adress angiven</string>
<string name="copied_token_to_clipboard">Kopierade token till urklipp</string>
<string name="live_stream_live_tag">LIVE</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">SLUTADE</string>
<string name="live_stream_planned_tag">PLANERAD</string>
<string name="live_stream_is_offline">Direktsändning är offline</string>
@@ -415,6 +434,7 @@
<string name="relay_setup">Reläer</string>
<string name="discover_content">Upptäckt av anteckningar</string>
<string name="discover_marketplace">Marknadsplats</string>
<string name="discover_live">Live</string>
<string name="discover_community">Gemenskap</string>
<string name="discover_chat">Chattar</string>
<string name="community_approved_posts">Godkända Inlägg</string>
@@ -425,10 +445,12 @@
<string name="settings">Inställningar</string>
<string name="connectivity_type_always">Alltid</string>
<string name="connectivity_type_wifi_only">Endast Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">Obegränsad WiFi</string>
<string name="connectivity_type_never">Aldrig</string>
<string name="ui_feature_set_type_complete">Slutförd</string>
<string name="ui_feature_set_type_simplified">Förenklad</string>
<string name="ui_feature_set_type_performance">Prestanda</string>
<string name="system">System</string>
<string name="light">Ljus</string>
<string name="dark">Mörk</string>
<string name="application_preferences">Applikationsinställningar</string>
@@ -512,6 +534,7 @@
<string name="missing_lud16">Saknad lightning-konfiguration</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Användaren %1$s har inte ställt in en blixtfakturaadress för att ta emot satoshis</string>
<string name="zap_split_weight">Procent</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Delar zaps med</string>
<string name="forwarding_zaps_to">Vidarebefordrar zaps till</string>
<string name="lightning_wallets_not_found2">Blixtpengar hittades inte</string>
@@ -578,9 +601,11 @@
<string name="hi_there_is_this_still_available">Hallå där, är detta fortfarande tillgängligt?</string>
<string name="classifieds">Sälj en artikel</string>
<string name="classifieds_title">Titel</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Skick</string>
<string name="classifieds_category">Kategori</string>
<string name="classifieds_price">Pris (i Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Plats</string>
<string name="classifieds_location_placeholder">Stad, Region, Land</string>
<string name="classifieds_condition_new">Ny</string>
@@ -614,6 +639,8 @@
<string name="server_did_not_provide_a_url_after_uploading">Servern gav inte en URL efter uppladdning</string>
<string name="could_not_download_from_the_server">Kunde inte ladda ner uppladdade medier från servern</string>
<string name="could_not_prepare_local_file_to_upload">Kunde inte förbereda lokal fil att ladda upp: %1$s</string>
<string name="failed_to_upload_with_message">Uppladdning misslyckades: %1$s</string>
<string name="failed_to_delete_with_message">Radering misslyckades: %1$s</string>
<string name="edit_draft">Redigera utkast</string>
<string name="login_with_qr_code">Logga in med QR-kod</string>
<string name="route">Rutt</string>
@@ -633,6 +660,8 @@
<string name="reply_description">Svara</string>
<string name="boost_or_quote_description">Boosta eller citera</string>
<string name="like_description">Gilla</string>
<string name="zap_description">Zap</string>
<string name="change_reaction">Ändra Snabba Reaktioner</string>
<string name="profile_image_of_user">%1$s Profilbild</string>
<string name="relay_info">Relä %1$s</string>
<string name="expand_relay_list">Expandera relälistan</string>
@@ -687,12 +716,16 @@
<string name="donate_now">Donera nu</string>
<string name="brought_to_you_by">tillhandahölls av:</string>
<string name="this_version_brought_to_you_by">Denna version tillhandahölls av:</string>
<string name="version_name">Version %1$s</string>
<string name="thank_you">Tack!</string>
<string name="max_limit">Maximal gräns</string>
<string name="restricted_writes">Begränsade skrivningar</string>
<string name="forked_from">Forkad från</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git Repository: %1$s</string>
<string name="git_web_address">Webbplats:</string>
<string name="git_clone_address">Klona:</string>
<string name="existed_since">OTS: %1$s</string>
<string name="ots_info_title">Tidsstämpel Bevis</string>
<string name="ots_info_description">Det finns bevis på att detta inlägg signerades någon gång före %1$s. Beviset stämplades i Bitcoin-blockchainen vid det datumet och den tiden.</string>
<string name="edit_post">Redigera inlägg</string>
@@ -720,7 +753,6 @@
<string name="dvm_requesting_job">Begär jobb från DVM</string>
<string name="nwc_payment_request">Betalningsbegäran skickad, väntar på bekräftelse från din plånbok</string>
<string name="dvm_waiting_to_confirm_payment">Väntar på att DVM ska bekräfta betalningen eller skicka resultaten</string>
<string name="http_status_400">Felaktig begäran - Servern kan inte eller vill inte bearbeta begäran.</string>
<string name="http_status_401">Obehörig - Användaren har inte giltiga autentiseringsuppgifter</string>
<string name="http_status_402">Betalning krävs - Servern kräver betalning för att slutföra begäran</string>
@@ -740,7 +772,6 @@
<string name="http_status_416">Område ej tillfredsställt - Servern kan inte uppfylla värdet som anges i begärans Range-huvudfält.</string>
<string name="http_status_417">Förväntning misslyckades - Servern kan inte uppfylla kraven som anges av Expect-begärans huvudfält</string>
<string name="http_status_426">Uppgradering krävs - Servern vägrar att bearbeta begäran med det nuvarande protokollet om inte klienten uppgraderar till ett annat protokoll.</string>
<string name="http_status_500">Internt serverfel - Servern har stött på ett oväntat fel och kan inte slutföra begäran</string>
<string name="http_status_501">Ej implementerad - Servern kan inte uppfylla begäran eller känner inte igen begärningsmetoden</string>
<string name="http_status_502">Fel gateway - Servern agerar som en gateway och fick ett ogiltigt svar från värden</string>
@@ -751,9 +782,4 @@
<string name="http_status_507">Otillräckligt lagringsutrymme - Servern har inte tillräckligt med lagringsutrymme för att bearbeta begäran framgångsrikt</string>
<string name="http_status_508">Loop upptäckt - Servern upptäcker en oändlig loop medan den bearbetar begäran</string>
<string name="http_status_511">Nätverksautentisering krävs - Klienten måste autentiseras för att få tillgång till nätverket</string>
<string name="connectivity_type_unmetered_wifi_only">Obegränsad WiFi</string>
<string name="failed_to_upload_with_message">Uppladdning misslyckades: %1$s</string>
<string name="failed_to_delete_with_message">Radering misslyckades: %1$s</string>
<string name="change_reaction">Ändra Snabba Reaktioner</string>
</resources>
@@ -524,9 +524,17 @@ class Relay(
}
private fun writeToSocket(str: String) {
if (socket == null) {
listeners.forEach { listener ->
listener.onError(
this@Relay,
"",
Error("Failed to send $str. Relay is not connected."),
)
}
}
socket?.let {
checkNotInMainThread()
val result = it.send(str)
listeners.forEach { listener ->
listener.onSend(this@Relay, str, result)
@@ -118,8 +118,7 @@ class Nip44(
else -> null
}
} catch (e: Exception) {
Log.e("CryptoUtils", "Could not identify the version for NIP44 payload $json")
e.printStackTrace()
Log.e("CryptoUtils", "NIP44: Unable to find version and decrypt $json", e)
null
}
@@ -140,8 +139,7 @@ class Nip44(
else -> null
}
} catch (e: Exception) {
Log.e("CryptoUtils", "Could not identify the version for NIP44 payload $payload")
e.printStackTrace()
Log.e("CryptoUtils", "NIP44: Unable to find version and decrypt $payload", e)
null
}
}