Merge branch 'main' into gallery

This commit is contained in:
believethehype
2024-07-01 20:59:13 +02:00
committed by GitHub
8 changed files with 183 additions and 154 deletions
@@ -687,9 +687,7 @@ private fun RenderNoteRow(
makeItShort, makeItShort,
canPreview, canPreview,
quotesLeft, quotesLeft,
unPackReply,
backgroundColor, backgroundColor,
editState,
accountViewModel, accountViewModel,
nav, nav,
) )
@@ -697,12 +695,6 @@ private fun RenderNoteRow(
is NIP90StatusEvent -> is NIP90StatusEvent ->
RenderNIP90Status( RenderNIP90Status(
baseNote, baseNote,
makeItShort,
canPreview,
quotesLeft,
unPackReply,
backgroundColor,
editState,
accountViewModel, accountViewModel,
nav, nav,
) )
@@ -23,22 +23,17 @@ package com.vitorpamplona.amethyst.ui.note.types
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState import androidx.compose.runtime.MutableState
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.components.GenericLoadable
import com.vitorpamplona.amethyst.ui.components.SensitivityWarning import com.vitorpamplona.amethyst.ui.components.SensitivityWarning
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
import com.vitorpamplona.amethyst.ui.note.LoadDecryptedContent
import com.vitorpamplona.amethyst.ui.note.elements.DisplayUncitedHashtags import com.vitorpamplona.amethyst.ui.note.elements.DisplayUncitedHashtags
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.quartz.events.EmptyTagList import com.vitorpamplona.quartz.events.EmptyTagList
import com.vitorpamplona.quartz.events.Event import com.vitorpamplona.quartz.events.NIP90ContentDiscoveryResponseEvent
import com.vitorpamplona.quartz.events.TextNoteEvent
import com.vitorpamplona.quartz.events.toImmutableListOfLists import com.vitorpamplona.quartz.events.toImmutableListOfLists
@Composable @Composable
@@ -47,63 +42,35 @@ fun RenderNIP90ContentDiscoveryResponse(
makeItShort: Boolean, makeItShort: Boolean,
canPreview: Boolean, canPreview: Boolean,
quotesLeft: Int, quotesLeft: Int,
unPackReply: Boolean,
backgroundColor: MutableState<Color>, backgroundColor: MutableState<Color>,
editState: State<GenericLoadable<EditState>>,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: (String) -> Unit, nav: (String) -> Unit,
) { ) {
val noteEvent = note.event as? Event ?: return val noteEvent = note.event as? NIP90ContentDiscoveryResponseEvent ?: return
LoadDecryptedContent( SensitivityWarning(
note, note = note,
accountViewModel, accountViewModel = accountViewModel,
) { body -> ) {
val eventContent by val modifier = remember(note) { Modifier.fillMaxWidth() }
remember(note.event) { val tags =
derivedStateOf { remember(note) { note.event?.tags()?.toImmutableListOfLists() ?: EmptyTagList }
val subject = (note.event as? TextNoteEvent)?.subject()?.ifEmpty { null }
val newBody =
if (editState.value is GenericLoadable.Loaded) {
val state =
(editState.value as? GenericLoadable.Loaded)?.loaded?.modificationToShow
state?.value?.event?.content() ?: body
} else {
body
}
if (!subject.isNullOrBlank() && !newBody.split("\n")[0].contains(subject)) { TranslatableRichTextViewer(
"### $subject\n$newBody" content = noteEvent.content,
} else { canPreview = canPreview && !makeItShort,
newBody quotesLeft = quotesLeft,
} modifier = modifier,
} tags = tags,
} backgroundColor = backgroundColor,
id = note.idHex,
SensitivityWarning( callbackUri = note.toNostrUri(),
note = note,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
) { nav = nav,
val modifier = remember(note) { Modifier.fillMaxWidth() } )
val tags = }
remember(note) { note.event?.tags()?.toImmutableListOfLists() ?: EmptyTagList }
TranslatableRichTextViewer( if (noteEvent.hasHashtags()) {
content = eventContent, DisplayUncitedHashtags(noteEvent, noteEvent.content, nav)
canPreview = canPreview && !makeItShort,
quotesLeft = quotesLeft,
modifier = modifier,
tags = tags,
backgroundColor = backgroundColor,
id = note.idHex,
callbackUri = note.toNostrUri(),
accountViewModel = accountViewModel,
nav = nav,
)
}
if (noteEvent.hasHashtags()) {
DisplayUncitedHashtags(noteEvent, eventContent, nav)
}
} }
} }
@@ -22,87 +22,18 @@ package com.vitorpamplona.amethyst.ui.note.types
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.components.GenericLoadable
import com.vitorpamplona.amethyst.ui.note.LoadDecryptedContent
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.quartz.events.BaseTextNoteEvent import com.vitorpamplona.quartz.events.NIP90StatusEvent
import com.vitorpamplona.quartz.events.CommunityDefinitionEvent
import com.vitorpamplona.quartz.events.TextNoteEvent
@Composable @Composable
fun RenderNIP90Status( fun RenderNIP90Status(
note: Note, note: Note,
makeItShort: Boolean,
canPreview: Boolean,
quotesLeft: Int,
unPackReply: Boolean,
backgroundColor: MutableState<Color>,
editState: State<GenericLoadable<EditState>>,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: (String) -> Unit, nav: (String) -> Unit,
) { ) {
val noteEvent = note.event val noteEvent = note.event as? NIP90StatusEvent ?: return
val showReply by Text(text = noteEvent.content)
remember(note) {
derivedStateOf {
noteEvent is BaseTextNoteEvent && !makeItShort && unPackReply && (note.replyTo != null || noteEvent.hasAnyTaggedUser())
}
}
if (showReply) {
val replyingDirectlyTo =
remember(note) {
if (noteEvent is BaseTextNoteEvent) {
val replyingTo = noteEvent.replyingToAddressOrEvent()
if (replyingTo != null) {
val newNote = accountViewModel.getNoteIfExists(replyingTo)
if (newNote != null && newNote.channelHex() == null && newNote.event?.kind() != CommunityDefinitionEvent.KIND) {
newNote
} else {
note.replyTo?.lastOrNull { it.event?.kind() != CommunityDefinitionEvent.KIND }
}
} else {
note.replyTo?.lastOrNull { it.event?.kind() != CommunityDefinitionEvent.KIND }
}
} else {
note.replyTo?.lastOrNull { it.event?.kind() != CommunityDefinitionEvent.KIND }
}
}
}
LoadDecryptedContent(
note,
accountViewModel,
) { body ->
val eventContent by
remember(note.event) {
derivedStateOf {
val subject = (note.event as? TextNoteEvent)?.subject()?.ifEmpty { null }
val newBody =
if (editState.value is GenericLoadable.Loaded) {
val state =
(editState.value as? GenericLoadable.Loaded)?.loaded?.modificationToShow
state?.value?.event?.content() ?: body
} else {
body
}
if (!subject.isNullOrBlank() && !newBody.split("\n")[0].contains(subject)) {
"### $subject\n$newBody"
} else {
newBody
}
}
}
Text(text = eventContent)
}
} }
@@ -100,23 +100,24 @@ fun RenderTextEvent(
note, note,
accountViewModel, accountViewModel,
) { body -> ) { body ->
val eventContent = val subject = (note.event as? TextNoteEvent)?.subject()?.ifEmpty { null }
remember(note.event) { val newBody =
val subject = (note.event as? TextNoteEvent)?.subject()?.ifEmpty { null } if (editState.value is GenericLoadable.Loaded) {
val newBody = (editState.value as? GenericLoadable.Loaded)
if (editState.value is GenericLoadable.Loaded) { ?.loaded
val state = ?.modificationToShow
(editState.value as? GenericLoadable.Loaded)?.loaded?.modificationToShow ?.value
state?.value?.event?.content() ?: body ?.event
} else { ?.content() ?: body
body } else {
} body
}
if (!subject.isNullOrBlank() && !newBody.split("\n")[0].contains(subject)) { val eventContent =
"### $subject\n$newBody" if (!subject.isNullOrBlank() && !newBody.split("\n")[0].startsWith(subject)) {
} else { "### $subject\n$newBody"
newBody } else {
} newBody
} }
if (makeItShort && accountViewModel.isLoggedUser(note.author)) { if (makeItShort && accountViewModel.isLoggedUser(note.author)) {
@@ -141,7 +142,14 @@ fun RenderTextEvent(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
tags = tags, tags = tags,
backgroundColor = backgroundColor, backgroundColor = backgroundColor,
id = note.idHex, id =
if (editState.value is GenericLoadable.Loaded) {
(editState.value as GenericLoadable.Loaded<EditState>)
.loaded.modificationToShow.value
?.idHex ?: note.idHex
} else {
note.idHex
},
callbackUri = note.toNostrUri(), callbackUri = note.toNostrUri(),
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
@@ -774,4 +774,15 @@
<string name="http_status_415">अनावलम्बित माध्यम प्रकार - अनुरोध में प्रयुक्त माध्यम प्रकार सेवासंगणक द्वारा अवलम्बित नहीं</string> <string name="http_status_415">अनावलम्बित माध्यम प्रकार - अनुरोध में प्रयुक्त माध्यम प्रकार सेवासंगणक द्वारा अवलम्बित नहीं</string>
<string name="http_status_416">विस्तार असाध्य - अनुरोध के विस्तार शीर्षक प्रपत्रस्थान में सूचित मूल्य की पूर्ति सेवासंगणक द्वारा असाध्य। </string> <string name="http_status_416">विस्तार असाध्य - अनुरोध के विस्तार शीर्षक प्रपत्रस्थान में सूचित मूल्य की पूर्ति सेवासंगणक द्वारा असाध्य। </string>
<string name="http_status_417">अपेक्षा असफल - अनुरोध के अपेक्षा शीर्षक प्रपत्रस्थान में सूचित आवश्यकताओं की पूर्ति सेवासंगणक के लिए असाध्य</string> <string name="http_status_417">अपेक्षा असफल - अनुरोध के अपेक्षा शीर्षक प्रपत्रस्थान में सूचित आवश्यकताओं की पूर्ति सेवासंगणक के लिए असाध्य</string>
<string name="http_status_426">नवीकरण आवश्यक - ग्राहक वर्तमान से भिन्न संचारविधि तक नवीकरण नहीं करता तो सेवासंगणक इसके अनुरोध पर काम नहीं करेगा।</string>
<string name="http_status_500">भीतरी सेवासंगणक अपक्रम - सेवासंगणक में एक अनपेक्षित अपक्रम हुआ तथा अनुरोध पूरा नहीं कर सकता</string>
<string name="http_status_501">कार्यान्वित नहीं - सेवासंगणक अनुरोध को पूरा नहीं कर सकता अथवा अनुरोध की कार्यविधि जानता नहीं</string>
<string name="http_status_502">बुरा द्वारपथ - सेवासंगणक द्वारपथ जैसा कार्य करता है तथा आवाससंगणक से अवैध उत्तर प्राप्त हुआ</string>
<string name="http_status_503">सेवा अनुपलब्ध - यह बहुशः तब होता है जब सेवासंगणक पर अत्याधिक भार हो अथवा देखरेख के लिए निष्क्रिय हो</string>
<string name="http_status_504">द्वारपथ समयान्त - सेवासंगणक द्वारपथ अथवा प्रतिनिधि जैसा कार्य कर रहा था तथा समयान्त हो गया एक उत्तर की प्रतीक्षा में</string>
<string name="http_status_505">हटटप॰ संस्करण अनावलम्बित - अनुरोध का हटटप॰ संस्करण सेवासंगणक द्वारा अवलम्बित नहीं</string>
<string name="http_status_506">विकार भी संधिवार्ता करता है - सेवासंगणक में भीतरी समाकृति अपक्रम है</string>
<string name="http_status_507">स्मृतिस्थान का अभाव - सेवासंगणक में पर्याप्त स्मृतिस्थान उपलब्ध नहीं अनुरोध पर सफलतापूर्वक काम करने के लिए</string>
<string name="http_status_508">क्रमचक्र दृष्ट - सेवासंगणक को अनन्त क्रमचक्र का पता चला अनुरोध पर काम करते हुए</string>
<string name="http_status_511">जाल प्रमाणिकरण आवश्यक - जाल उपलब्ध होने के लिए ग्राहक का प्रमाणिकरण अनिवार्य</string>
</resources> </resources>
@@ -4,6 +4,7 @@
<string name="show_qr">Toon QR</string> <string name="show_qr">Toon QR</string>
<string name="profile_image">Profielfoto</string> <string name="profile_image">Profielfoto</string>
<string name="your_profile_image">Jouw profielfoto</string> <string name="your_profile_image">Jouw profielfoto</string>
<string name="scan_qr">Scan QR</string>
<string name="show_anyway">Laat toch zien</string> <string name="show_anyway">Laat toch zien</string>
<string name="post_was_hidden">Dit bericht is verborgen omdat het je verborgen gebruikers of woorden noemt</string> <string name="post_was_hidden">Dit bericht is verborgen omdat het je verborgen gebruikers of woorden noemt</string>
<string name="post_was_flagged_as_inappropriate_by">Bericht gemarkeerd als ongepast door</string> <string name="post_was_flagged_as_inappropriate_by">Bericht gemarkeerd als ongepast door</string>
@@ -13,6 +14,7 @@
<string name="could_not_decrypt_the_message">Note versleuteld met encryptie</string> <string name="could_not_decrypt_the_message">Note versleuteld met encryptie</string>
<string name="group_picture">Groepafbeelding</string> <string name="group_picture">Groepafbeelding</string>
<string name="explicit_content">Expliciete inhoud</string> <string name="explicit_content">Expliciete inhoud</string>
<string name="spam">Spam</string>
<string name="spam_description">Het nummer van spammende gebeurtenissen komende van deze relay</string> <string name="spam_description">Het nummer van spammende gebeurtenissen komende van deze relay</string>
<string name="impersonation">Imitatie</string> <string name="impersonation">Imitatie</string>
<string name="illegal_behavior">Illegaal gedrag</string> <string name="illegal_behavior">Illegaal gedrag</string>
@@ -43,11 +45,15 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om te ontvolgen</string> <string name="login_with_a_private_key_to_be_able_to_unfollow">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om te ontvolgen</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om woorden en zinnen te verbergen</string> <string name="login_with_a_private_key_to_be_able_to_hide_word">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om woorden en zinnen te verbergen</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om woorden of zinnen te tonen</string> <string name="login_with_a_private_key_to_be_able_to_show_word">Je gebruikt een publieke sleutel en publieke sleutels zijn alleen-lezen. Login met een geheime sleutel om woorden of zinnen te tonen</string>
<string name="zaps">Zaps</string>
<string name="view_count">Aantal keer bekeken</string> <string name="view_count">Aantal keer bekeken</string>
<string name="boost">Boost</string>
<string name="boosted">geboost</string>
<string name="edited">gewijzigd</string> <string name="edited">gewijzigd</string>
<string name="edited_number">bewerk #%1$s</string> <string name="edited_number">bewerk #%1$s</string>
<string name="original">origineel</string> <string name="original">origineel</string>
<string name="quote">Citaat</string> <string name="quote">Citaat</string>
<string name="fork">Fork</string>
<string name="propose_an_edit">Stel een bewerking voor</string> <string name="propose_an_edit">Stel een bewerking voor</string>
<string name="new_amount_in_sats">Nieuw bedrag in sats</string> <string name="new_amount_in_sats">Nieuw bedrag in sats</string>
<string name="add">Toevoegen</string> <string name="add">Toevoegen</string>
@@ -86,6 +92,7 @@
<string name="failed_to_upload_the_image">Uploaden afbeelding mislukt</string> <string name="failed_to_upload_the_image">Uploaden afbeelding mislukt</string>
<string name="relay_address">Relay adres</string> <string name="relay_address">Relay adres</string>
<string name="posts">Berichten</string> <string name="posts">Berichten</string>
<string name="bytes">Bytes</string>
<string name="errors">Fouten</string> <string name="errors">Fouten</string>
<string name="errors_description">Het nummer van verbindingsfouten in deze sessie</string> <string name="errors_description">Het nummer van verbindingsfouten in deze sessie</string>
<string name="home_feed">Startpagina</string> <string name="home_feed">Startpagina</string>
@@ -102,6 +109,8 @@
<string name="my_username">Mijn gebruikersnaam</string> <string name="my_username">Mijn gebruikersnaam</string>
<string name="about_me">Over mij</string> <string name="about_me">Over mij</string>
<string name="avatar_url">Profielfoto URL</string> <string name="avatar_url">Profielfoto URL</string>
<string name="banner_url">Banner URL</string>
<string name="website_url">Website URL</string>
<string name="ln_address">LN Adress</string> <string name="ln_address">LN Adress</string>
<string name="ln_url_outdated">LN URL (verouderd)</string> <string name="ln_url_outdated">LN URL (verouderd)</string>
<string name="save_to_gallery">Opslaan in galerij</string> <string name="save_to_gallery">Opslaan in galerij</string>
@@ -120,11 +129,13 @@
<string name="blocked_users">Geblokkeerde gebruikers</string> <string name="blocked_users">Geblokkeerde gebruikers</string>
<string name="new_threads">Nieuwe thread</string> <string name="new_threads">Nieuwe thread</string>
<string name="conversations">Gesprekken</string> <string name="conversations">Gesprekken</string>
<string name="notes">Notes</string>
<string name="replies">Reacties</string> <string name="replies">Reacties</string>
<string name="follows">"Volgend"</string> <string name="follows">"Volgend"</string>
<string name="reports">"Rapporten"</string> <string name="reports">"Rapporten"</string>
<string name="more_options">Meer opties</string> <string name="more_options">Meer opties</string>
<string name="relays">"Relays"</string> <string name="relays">"Relays"</string>
<string name="website">Website</string>
<string name="lightning_address">Lightning Adress</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="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="copy_private_key_to_the_clipboard">Geheime sleutel kopiëren naar het klembord</string> <string name="copy_private_key_to_the_clipboard">Geheime sleutel kopiëren naar het klembord</string>
@@ -188,6 +199,9 @@
<string name="nip_05">Nostr adres</string> <string name="nip_05">Nostr adres</string>
<string name="never">nooit</string> <string name="never">nooit</string>
<string name="now">nu</string> <string name="now">nu</string>
<string name="h">u</string>
<string name="m">m</string>
<string name="d">d</string>
<string name="nudity">Naaktheid</string> <string name="nudity">Naaktheid</string>
<string name="profanity_hateful_speech">Godslastering / haatdragende taal</string> <string name="profanity_hateful_speech">Godslastering / haatdragende taal</string>
<string name="report_hateful_speech">Haatdragende taal rapporteren</string> <string name="report_hateful_speech">Haatdragende taal rapporteren</string>
@@ -224,6 +238,7 @@
<string name="select_text_dialog_top">Selecteer tekst</string> <string name="select_text_dialog_top">Selecteer tekst</string>
<string name="private_conversation_notification">"&lt;Kan privébericht niet ontsleutelen&gt;\n\nJe werd genoemd in een privégesprek tussen %1$s en %2$s."</string> <string name="private_conversation_notification">"&lt;Kan privébericht niet ontsleutelen&gt;\n\nJe werd genoemd in een privégesprek tussen %1$s en %2$s."</string>
<string name="account_switch_add_account_dialog_title">Nieuw account toevoegen</string> <string name="account_switch_add_account_dialog_title">Nieuw account toevoegen</string>
<string name="drawer_accounts">Accounts</string>
<string name="account_switch_select_account">Account selecteren</string> <string name="account_switch_select_account">Account selecteren</string>
<string name="account_switch_add_account_btn">Nieuw account toevoegen</string> <string name="account_switch_add_account_btn">Nieuw account toevoegen</string>
<string name="account_switch_active_account">Account activeren</string> <string name="account_switch_active_account">Account activeren</string>
@@ -234,6 +249,7 @@
<string name="quick_action_share_browser_link">Deel browserlink</string> <string name="quick_action_share_browser_link">Deel browserlink</string>
<string name="quick_action_share">Delen</string> <string name="quick_action_share">Delen</string>
<string name="quick_action_copy_user_id">Auteur ID</string> <string name="quick_action_copy_user_id">Auteur ID</string>
<string name="quick_action_copy_note_id">Note ID</string>
<string name="quick_action_copy_text">Kopieer tekst</string> <string name="quick_action_copy_text">Kopieer tekst</string>
<string name="quick_action_delete">Verwijderen</string> <string name="quick_action_delete">Verwijderen</string>
<string name="quick_action_unfollow">Ontvolgen</string> <string name="quick_action_unfollow">Ontvolgen</string>
@@ -270,8 +286,11 @@
<string name="add_to_public_bookmarks">Toevoegen aan publieke bladwijzers</string> <string name="add_to_public_bookmarks">Toevoegen aan publieke bladwijzers</string>
<string name="remove_from_private_bookmarks">Verwijderen uit privé bladwijzers</string> <string name="remove_from_private_bookmarks">Verwijderen uit privé bladwijzers</string>
<string name="remove_from_public_bookmarks">Verwijderen uit publieke bladwijzers</string> <string name="remove_from_public_bookmarks">Verwijderen uit publieke bladwijzers</string>
<string name="wallet_connect_service">Wallet Connect Service</string>
<string name="wallet_connect_service_explainer">Machtigt een Nostr Secret om zaps te betalen zonder de app te verlaten. Houd het geheim veilig en gebruik indien mogelijk een privé relays.</string> <string name="wallet_connect_service_explainer">Machtigt een Nostr Secret om zaps te betalen zonder de app te verlaten. Houd het geheim veilig en gebruik indien mogelijk een privé relays.</string>
<string name="wallet_connect_service_pubkey">Wallet Connect publieke sleutel</string> <string name="wallet_connect_service_pubkey">Wallet Connect publieke sleutel</string>
<string name="wallet_connect_service_relay">Wallet Connect Relay</string>
<string name="wallet_connect_service_secret">Wallet Connect Secret</string>
<string name="wallet_connect_service_show_secret">Toon secret sleutel</string> <string name="wallet_connect_service_show_secret">Toon secret sleutel</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex geheime sleutel</string> <string name="wallet_connect_service_secret_placeholder">nsec / hex geheime sleutel</string>
<string name="pledge_amount_in_sats">Bedrag in sats</string> <string name="pledge_amount_in_sats">Bedrag in sats</string>
@@ -282,6 +301,9 @@
<string name="poll_option_index">Optie %s</string> <string name="poll_option_index">Optie %s</string>
<string name="poll_option_description">Poll optie beschrijvingen</string> <string name="poll_option_description">Poll optie beschrijvingen</string>
<string name="poll_heading_optional">Optionele velden:</string> <string name="poll_heading_optional">Optionele velden:</string>
<string name="poll_zap_value_min">Zap minimum</string>
<string name="poll_zap_value_max">Zap maximum</string>
<string name="poll_consensus_threshold">Consensus</string>
<string name="poll_consensus_threshold_percent">(0-100)%</string> <string name="poll_consensus_threshold_percent">(0-100)%</string>
<string name="poll_closing_time">Sluit na</string> <string name="poll_closing_time">Sluit na</string>
<string name="poll_closing_time_days">dagen</string> <string name="poll_closing_time_days">dagen</string>
@@ -313,6 +335,7 @@
<string name="zap_type_private_explainer">Verzender en ontvanger kunnen elkaar zien en het bericht lezen</string> <string name="zap_type_private_explainer">Verzender en ontvanger kunnen elkaar zien en het bericht lezen</string>
<string name="zap_type_anonymous">Anoniem</string> <string name="zap_type_anonymous">Anoniem</string>
<string name="zap_type_anonymous_explainer">Ontvanger en het publiek weten niet wie de betaling verzond</string> <string name="zap_type_anonymous_explainer">Ontvanger en het publiek weten niet wie de betaling verzond</string>
<string name="zap_type_nonzap">Non-Zap</string>
<string name="zap_type_nonzap_explainer">Geen spoor binnen Nostr, alleen in Lightning</string> <string name="zap_type_nonzap_explainer">Geen spoor binnen Nostr, alleen in Lightning</string>
<string name="file_server">File server</string> <string name="file_server">File server</string>
<string name="zap_forward_lnAddress">LnAddress of @User</string> <string name="zap_forward_lnAddress">LnAddress of @User</string>
@@ -344,6 +367,7 @@
<string name="app_notification_dms_channel_description">Geeft een melding wanneer er een privébericht binnenkomt</string> <string name="app_notification_dms_channel_description">Geeft een melding wanneer er een privébericht binnenkomt</string>
<string name="app_notification_zaps_channel_name">Zaps ontvangen</string> <string name="app_notification_zaps_channel_name">Zaps ontvangen</string>
<string name="app_notification_zaps_channel_description">Geeft een melding als iemand je zapt</string> <string name="app_notification_zaps_channel_description">Geeft een melding als iemand je zapt</string>
<string name="app_notification_zaps_channel_message">%1$s sats</string>
<string name="app_notification_zaps_channel_message_from">Van %1$s</string> <string name="app_notification_zaps_channel_message_from">Van %1$s</string>
<string name="app_notification_zaps_channel_message_for">voor %1$s</string> <string name="app_notification_zaps_channel_message_for">voor %1$s</string>
<string name="reply_notify">Meld: </string> <string name="reply_notify">Meld: </string>
@@ -363,6 +387,7 @@
<string name="warn_when_posts_have_reports_from_your_follows">Waarschuw wanneer berichten meldingen hebben van je volgers</string> <string name="warn_when_posts_have_reports_from_your_follows">Waarschuw wanneer berichten meldingen hebben van je volgers</string>
<string name="new_reaction_symbol">Nieuwe reactie symbool</string> <string name="new_reaction_symbol">Nieuwe reactie symbool</string>
<string name="no_reaction_type_setup_long_press_to_change">Geen reactietypes geselecteerd. Lang indrukken om te wijzigen</string> <string name="no_reaction_type_setup_long_press_to_change">Geen reactietypes geselecteerd. Lang indrukken om te wijzigen</string>
<string name="zapraiser">Zapraiser</string>
<string name="zapraiser_explainer">Voegt een streefaantal sats toe dat moet worden opgehaald voor deze post. Ondersteunende clients kunnen dit als een voortgangsbalk weergeven om donaties te stimuleren.</string> <string name="zapraiser_explainer">Voegt een streefaantal sats toe dat moet worden opgehaald voor deze post. Ondersteunende clients kunnen dit als een voortgangsbalk weergeven om donaties te stimuleren.</string>
<string name="zapraiser_target_amount_in_sats">Streefaantal in sats</string> <string name="zapraiser_target_amount_in_sats">Streefaantal in sats</string>
<string name="sats_to_complete">Zapraiser op %1$s. %2$s sats tot doel</string> <string name="sats_to_complete">Zapraiser op %1$s. %2$s sats tot doel</string>
@@ -373,16 +398,20 @@
<string name="an_error_occurred_trying_to_get_relay_information">Er is een fout opgetreden bij het ophalen van de relay-informatie van %1$s</string> <string name="an_error_occurred_trying_to_get_relay_information">Er is een fout opgetreden bij het ophalen van de relay-informatie van %1$s</string>
<string name="owner">Eigenaar</string> <string name="owner">Eigenaar</string>
<string name="version">Versie</string> <string name="version">Versie</string>
<string name="software">Software</string>
<string name="contact">Contact</string>
<string name="supports">Ondersteunde NIPs</string> <string name="supports">Ondersteunde NIPs</string>
<string name="admission_fees">Toelatingskosten</string> <string name="admission_fees">Toelatingskosten</string>
<string name="payments_url">Betaallink</string> <string name="payments_url">Betaallink</string>
<string name="limitations">Beperkingen</string> <string name="limitations">Beperkingen</string>
<string name="countries">Landen</string> <string name="countries">Landen</string>
<string name="languages">Talen</string> <string name="languages">Talen</string>
<string name="tags">Tags</string>
<string name="posting_policy">Postbeleid</string> <string name="posting_policy">Postbeleid</string>
<string name="relay_error_messages">Fouten en meldingen van deze relay</string> <string name="relay_error_messages">Fouten en meldingen van deze relay</string>
<string name="message_length">Lengte van bericht</string> <string name="message_length">Lengte van bericht</string>
<string name="subscriptions">Abonnementen</string> <string name="subscriptions">Abonnementen</string>
<string name="filters">Filters</string>
<string name="subscription_id_length">Lengte abonnement-id</string> <string name="subscription_id_length">Lengte abonnement-id</string>
<string name="minimum_prefix">Minimale voorvoegsel</string> <string name="minimum_prefix">Minimale voorvoegsel</string>
<string name="maximum_event_tags">Maximale event tags</string> <string name="maximum_event_tags">Maximale event tags</string>
@@ -397,14 +426,20 @@
<string name="cashu_copy_token">Token kopiëren</string> <string name="cashu_copy_token">Token kopiëren</string>
<string name="no_lightning_address_set">Geen Lightning-adres ingesteld</string> <string name="no_lightning_address_set">Geen Lightning-adres ingesteld</string>
<string name="copied_token_to_clipboard">Token gekopieerd naar klembord</string> <string name="copied_token_to_clipboard">Token gekopieerd naar klembord</string>
<string name="live_stream_live_tag">LIVE</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">GEËINDIGD</string> <string name="live_stream_ended_tag">GEËINDIGD</string>
<string name="live_stream_planned_tag">INGEPLAND</string> <string name="live_stream_planned_tag">INGEPLAND</string>
<string name="live_stream_is_offline">Livestream is offline</string> <string name="live_stream_is_offline">Livestream is offline</string>
<string name="live_stream_has_ended">Livestream is geëindigd</string> <string name="live_stream_has_ended">Livestream is geëindigd</string>
<string name="are_you_sure_you_want_to_log_out">Uitloggen verwijdert al je lokale informatie. Zorg ervoor dat je een back-up hebt van je geheime sleutels om te voorkomen dat je je account kwijtraakt. Wilt u doorgaan?</string> <string name="are_you_sure_you_want_to_log_out">Uitloggen verwijdert al je lokale informatie. Zorg ervoor dat je een back-up hebt van je geheime sleutels om te voorkomen dat je je account kwijtraakt. Wilt u doorgaan?</string>
<string name="followed_tags">Gevolgde tags</string> <string name="followed_tags">Gevolgde tags</string>
<string name="relay_setup">Relays</string>
<string name="discover_content">Note ontdekking</string> <string name="discover_content">Note ontdekking</string>
<string name="discover_marketplace">Marktplaats</string> <string name="discover_marketplace">Marktplaats</string>
<string name="discover_live">Live</string>
<string name="discover_community">Community</string>
<string name="discover_chat">Chats</string>
<string name="community_approved_posts">Goedgekeurde berichten</string> <string name="community_approved_posts">Goedgekeurde berichten</string>
<string name="groups_no_descriptor">Deze groep heeft geen beschrijving of regels. Praat met de eigenaar om er een toe te voegen</string> <string name="groups_no_descriptor">Deze groep heeft geen beschrijving of regels. Praat met de eigenaar om er een toe te voegen</string>
<string name="community_no_descriptor">Deze community heeft geen beschrijving. Praat met de eigenaar om er een toe te voegen</string> <string name="community_no_descriptor">Deze community heeft geen beschrijving. Praat met de eigenaar om er een toe te voegen</string>
@@ -413,6 +448,7 @@
<string name="settings">Instellingen</string> <string name="settings">Instellingen</string>
<string name="connectivity_type_always">Altijd</string> <string name="connectivity_type_always">Altijd</string>
<string name="connectivity_type_wifi_only">Alleen wifi</string> <string name="connectivity_type_wifi_only">Alleen wifi</string>
<string name="connectivity_type_unmetered_wifi_only">Geen datalimiet</string>
<string name="connectivity_type_never">Nooit</string> <string name="connectivity_type_never">Nooit</string>
<string name="ui_feature_set_type_complete">Voltooid</string> <string name="ui_feature_set_type_complete">Voltooid</string>
<string name="ui_feature_set_type_simplified">Vereenvoudigd</string> <string name="ui_feature_set_type_simplified">Vereenvoudigd</string>
@@ -431,6 +467,7 @@
<string name="ui_style">UI modus</string> <string name="ui_style">UI modus</string>
<string name="ui_style_description">Kies de stijl van het bericht</string> <string name="ui_style_description">Kies de stijl van het bericht</string>
<string name="load_image">Afbeelding laden</string> <string name="load_image">Afbeelding laden</string>
<string name="spamming_users">Spammers</string>
<string name="muted_button">Geen geluid. Klik om voor geluid</string> <string name="muted_button">Geen geluid. Klik om voor geluid</string>
<string name="mute_button">Geluid. Klik voor geen geluid</string> <string name="mute_button">Geluid. Klik voor geen geluid</string>
<string name="search_button">Lokale en externe records doorzoeken</string> <string name="search_button">Lokale en externe records doorzoeken</string>
@@ -490,6 +527,7 @@
<string name="active_for">Actief voor: </string> <string name="active_for">Actief voor: </string>
<string name="active_for_home">Startpagina</string> <string name="active_for_home">Startpagina</string>
<string name="active_for_msg">DM\'s</string> <string name="active_for_msg">DM\'s</string>
<string name="active_for_chats">Chats</string>
<string name="active_for_global">Globaal</string> <string name="active_for_global">Globaal</string>
<string name="active_for_search">Zoeken</string> <string name="active_for_search">Zoeken</string>
<string name="zap_split_title">Deel en stuur Zaps door</string> <string name="zap_split_title">Deel en stuur Zaps door</string>
@@ -498,10 +536,13 @@
<string name="zap_split_search_and_add_user_placeholder">Gebruikersnaam of weergavenaam</string> <string name="zap_split_search_and_add_user_placeholder">Gebruikersnaam of weergavenaam</string>
<string name="missing_lud16">Ontbrekende Lightning configuratie</string> <string name="missing_lud16">Ontbrekende Lightning configuratie</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Gebruiker %1$s heeft geen Lightning Adress ingesteld om sats te ontvangen</string> <string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Gebruiker %1$s heeft geen Lightning Adress ingesteld om sats te ontvangen</string>
<string name="zap_split_weight">Percentage</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Deel zaps met</string> <string name="splitting_zaps_with">Deel zaps met</string>
<string name="forwarding_zaps_to">Stuur zaps door naar</string> <string name="forwarding_zaps_to">Stuur zaps door naar</string>
<string name="lightning_wallets_not_found2">Lightning wallets niet gevonden</string> <string name="lightning_wallets_not_found2">Lightning wallets niet gevonden</string>
<string name="paid">Betaald</string> <string name="paid">Betaald</string>
<string name="wallet_number">Wallet %1$s</string>
<string name="error_opening_external_signer">Fout bij openen ondertekenapp</string> <string name="error_opening_external_signer">Fout bij openen ondertekenapp</string>
<string name="error_opening_external_signer_description">De teken-app kan niet worden gevonden. Controleer of de app niet is verwijderd</string> <string name="error_opening_external_signer_description">De teken-app kan niet worden gevonden. Controleer of de app niet is verwijderd</string>
<string name="sign_request_rejected">Ondertekenverzoek afgewezen</string> <string name="sign_request_rejected">Ondertekenverzoek afgewezen</string>
@@ -557,14 +598,17 @@
Na installatie selecteer de app die je wilt gebruiken in de instellingen. Na installatie selecteer de app die je wilt gebruiken in de instellingen.
</string> </string>
<string name="payment_required_title">Bericht van %1$s</string> <string name="payment_required_title">Bericht van %1$s</string>
<string name="thread_title">Draad</string>
<string name="send_the_seller_a_message">Stuur de verkoper een bericht</string> <string name="send_the_seller_a_message">Stuur de verkoper een bericht</string>
<string name="hi_seller_is_this_still_available">Hallo %1$s, is dit nog steeds beschikbaar?</string> <string name="hi_seller_is_this_still_available">Hallo %1$s, is dit nog steeds beschikbaar?</string>
<string name="hi_there_is_this_still_available">Hallo daar, is dit nog steeds beschikbaar?</string> <string name="hi_there_is_this_still_available">Hallo daar, is dit nog steeds beschikbaar?</string>
<string name="classifieds">Verkoop een artikel</string> <string name="classifieds">Verkoop een artikel</string>
<string name="classifieds_title">Titel</string> <string name="classifieds_title">Titel</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Staat</string> <string name="classifieds_condition">Staat</string>
<string name="classifieds_category">Categorie</string> <string name="classifieds_category">Categorie</string>
<string name="classifieds_price">Prijs (in sats)</string> <string name="classifieds_price">Prijs (in sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Locatie</string> <string name="classifieds_location">Locatie</string>
<string name="classifieds_location_placeholder">Stad, provincie, land</string> <string name="classifieds_location_placeholder">Stad, provincie, land</string>
<string name="classifieds_condition_new">Nieuw</string> <string name="classifieds_condition_new">Nieuw</string>
@@ -583,6 +627,7 @@
<string name="classifieds_category_books">Boeken</string> <string name="classifieds_category_books">Boeken</string>
<string name="classifieds_category_pets">Huisdieren</string> <string name="classifieds_category_pets">Huisdieren</string>
<string name="classifieds_category_sports">Sport</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_art">Kunst</string>
<string name="classifieds_category_crafts">Ambachten</string> <string name="classifieds_category_crafts">Ambachten</string>
<string name="classifieds_category_home">Startpagina</string> <string name="classifieds_category_home">Startpagina</string>
@@ -597,14 +642,18 @@
<string name="server_did_not_provide_a_url_after_uploading">Server heeft geen URL opgegeven na uploaden</string> <string name="server_did_not_provide_a_url_after_uploading">Server heeft geen URL opgegeven na uploaden</string>
<string name="could_not_download_from_the_server">Kan de geüploade media niet downloaden van de server</string> <string name="could_not_download_from_the_server">Kan de geüploade media niet downloaden van de server</string>
<string name="could_not_prepare_local_file_to_upload">Kon lokaal bestand niet voorbereiden voor upload: %1$s</string> <string name="could_not_prepare_local_file_to_upload">Kon lokaal bestand niet voorbereiden voor upload: %1$s</string>
<string name="failed_to_upload_with_message">Uploaden van media mislukt: %1$s</string>
<string name="failed_to_delete_with_message">Verwijderen van media mislukt: %1$s</string>
<string name="edit_draft">Concept bewerken</string> <string name="edit_draft">Concept bewerken</string>
<string name="login_with_qr_code">Inloggen met QR-Code</string> <string name="login_with_qr_code">Inloggen met QR-Code</string>
<string name="route">Route</string>
<string name="route_home">Beginscherm</string> <string name="route_home">Beginscherm</string>
<string name="route_search">Zoeken</string> <string name="route_search">Zoeken</string>
<string name="route_discover">Ontdekken</string> <string name="route_discover">Ontdekken</string>
<string name="route_messages">Berichten</string> <string name="route_messages">Berichten</string>
<string name="route_notifications">Notificaties</string> <string name="route_notifications">Notificaties</string>
<string name="route_global">Globaal</string> <string name="route_global">Globaal</string>
<string name="route_video">Shorts</string>
<string name="route_security_filters">Beveiligingsfilters</string> <string name="route_security_filters">Beveiligingsfilters</string>
<string name="new_post">Nieuw bericht</string> <string name="new_post">Nieuw bericht</string>
<string name="new_short">Nieuwe shorts: afbeeldingen of video\'s</string> <string name="new_short">Nieuwe shorts: afbeeldingen of video\'s</string>
@@ -614,17 +663,23 @@
<string name="reply_description">Antwoorden</string> <string name="reply_description">Antwoorden</string>
<string name="boost_or_quote_description">Boost of citaat</string> <string name="boost_or_quote_description">Boost of citaat</string>
<string name="like_description">Vind ik leuk</string> <string name="like_description">Vind ik leuk</string>
<string name="zap_description">Zap</string>
<string name="change_reaction">Wijzig Snelle Reacties</string>
<string name="profile_image_of_user">Profielfoto van %1$s</string> <string name="profile_image_of_user">Profielfoto van %1$s</string>
<string name="relay_info">Relay %1$s</string>
<string name="expand_relay_list">Lijst van relays uitvouwen</string> <string name="expand_relay_list">Lijst van relays uitvouwen</string>
<string name="note_options">Note opties</string> <string name="note_options">Note opties</string>
<string name="relay_list_selector">Relay selectiemenu</string> <string name="relay_list_selector">Relay selectiemenu</string>
<string name="poll">Poll</string>
<string name="disable_poll">Poll uitschakelen</string> <string name="disable_poll">Poll uitschakelen</string>
<string name="add_bitcoin_invoice">Bitcoin invoice</string> <string name="add_bitcoin_invoice">Bitcoin invoice</string>
<string name="cancel_bitcoin_invoice">Annuleer Bitcoin invoice</string> <string name="cancel_bitcoin_invoice">Annuleer Bitcoin invoice</string>
<string name="cancel_classifieds">Verkoop van een item annuleren</string> <string name="cancel_classifieds">Verkoop van een item annuleren</string>
<string name="add_zapraiser">Zapraiser</string>
<string name="cancel_zapraiser">Annuleer Zapraiser</string> <string name="cancel_zapraiser">Annuleer Zapraiser</string>
<string name="add_location">Locatie</string> <string name="add_location">Locatie</string>
<string name="remove_location">Locatie verwijderen</string> <string name="remove_location">Locatie verwijderen</string>
<string name="add_zap_split">Zap splitsen</string>
<string name="cancel_zap_split">Annuleer splitsing Zap</string> <string name="cancel_zap_split">Annuleer splitsing Zap</string>
<string name="add_content_warning">Content waarschuwing toevoegen</string> <string name="add_content_warning">Content waarschuwing toevoegen</string>
<string name="remove_content_warning">Content waarschuwing verwijderen</string> <string name="remove_content_warning">Content waarschuwing verwijderen</string>
@@ -632,6 +687,7 @@
<string name="invalid_nip19_uri">Ongeldig adres</string> <string name="invalid_nip19_uri">Ongeldig adres</string>
<string name="invalid_nip19_uri_description">Amethist ontving een URI om te openen, maar die uri was ongeldig: %1$s</string> <string name="invalid_nip19_uri_description">Amethist ontving een URI om te openen, maar die uri was ongeldig: %1$s</string>
<string name="dm_relays_title">DM inbox relays</string> <string name="dm_relays_title">DM inbox relays</string>
<string name="dm_relays_through">Relays: %1$s</string>
<string name="dm_relays_regular">Gebruik normale relays</string> <string name="dm_relays_regular">Gebruik normale relays</string>
<string name="dm_relays_not_found">Stel uw Privé Postvak relays in</string> <string name="dm_relays_not_found">Stel uw Privé Postvak relays in</string>
<string name="dm_relays_not_found_description">Deze instelling geeft iedereen informatie over de relays die gebruikt worden bij het verzenden van berichten. Zonder hen mis je mogelijk een bericht.</string> <string name="dm_relays_not_found_description">Deze instelling geeft iedereen informatie over de relays die gebruikt worden bij het verzenden van berichten. Zonder hen mis je mogelijk een bericht.</string>
@@ -668,7 +724,11 @@
<string name="max_limit">Max. limiet</string> <string name="max_limit">Max. limiet</string>
<string name="restricted_writes">Beperkte schrijfrechten</string> <string name="restricted_writes">Beperkte schrijfrechten</string>
<string name="forked_from">Geforked van</string> <string name="forked_from">Geforked van</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git Repository: %1$s</string>
<string name="git_web_address">Web:</string>
<string name="git_clone_address">Kopiëren:</string> <string name="git_clone_address">Kopiëren:</string>
<string name="existed_since">OTS: %1$s</string>
<string name="ots_info_title">Bewijs van tijdstempel</string> <string name="ots_info_title">Bewijs van tijdstempel</string>
<string name="ots_info_description">Er is bewijs dat dit bericht enige tijd voor %1$sis getekend. Het bewijs is op dat tijdstip en op dat moment getypeerd in de Bitcoin-blockchain.</string> <string name="ots_info_description">Er is bewijs dat dit bericht enige tijd voor %1$sis getekend. Het bewijs is op dat tijdstip en op dat moment getypeerd in de Bitcoin-blockchain.</string>
<string name="edit_post">Bericht wijzigen</string> <string name="edit_post">Bericht wijzigen</string>
@@ -696,4 +756,33 @@
<string name="dvm_requesting_job">Taak aanvragen bij DVM</string> <string name="dvm_requesting_job">Taak aanvragen bij DVM</string>
<string name="nwc_payment_request">Betalingsverzoek verzonden, wachten op bevestiging van uw wallet</string> <string name="nwc_payment_request">Betalingsverzoek verzonden, wachten op bevestiging van uw wallet</string>
<string name="dvm_waiting_to_confirm_payment">Wachten op DVM-betaling te bevestigen of resultaten te verzenden</string> <string name="dvm_waiting_to_confirm_payment">Wachten op DVM-betaling te bevestigen of resultaten te verzenden</string>
<string name="http_status_400">Ongeldig verzoek - De server kan of wil het verzoek niet verwerken.</string>
<string name="http_status_401">Niet geautoriseerd - De gebruiker heeft geen geldige authenticatiegegevens</string>
<string name="http_status_402">Betaling vereist - De server vereist betaling om het verzoek te voltooien</string>
<string name="http_status_403">Verboden - De gebruiker heeft geen toegangsrechten om het verzoek uit te voeren</string>
<string name="http_status_404">Niet gevonden - De server kan het opgevraagde adres niet vinden</string>
<string name="http_status_405">Methode niet toegestaan - De server ondersteunt de aanvraagmethode, maar niet de doelbron</string>
<string name="http_status_406">Niet acceptabel - De server vindt geen inhoud die voldoet aan het verzoek.</string>
<string name="http_status_407">Proxy authenticatie vereist - De gebruiker heeft geen geldige authenticatiegegevens</string>
<string name="http_status_408">Verzoek time-out - De server heeft de tijdslimiet overschreden tijdens het wachten op iemand anders</string>
<string name="http_status_409">Conflict - De server kan het verzoek niet uitvoeren omdat er een conflict is met de bron</string>
<string name="http_status_410">Verdwenen - De gevraagde inhoud is permanent verwijderd van de server en zal niet worden hersteld</string>
<string name="http_status_411">Lengte vereist - De server weigert het verzoek omdat het een bepaalde lengte vereist</string>
<string name="http_status_412">Voorwaarde mislukt - De voorwaarden van het verzoek in de header-velden zijn niet voldaan door de server</string>
<string name="http_status_413">Payload te groot - Het verzoek is groter dan de door de server gedefinieerde limieten, en de server weigert het te verwerken</string>
<string name="http_status_414">URI Te Lang - De URL die door de client is aangevraagd, is te lang voor de server om te verwerken. </string>
<string name="http_status_415">Niet-ondersteund mediaformaat - Het verzoek maakt gebruik van een mediaformaat dat de server niet ondersteunt</string>
<string name="http_status_416">Bereik niet voldaan - De server kan de waarde zoals aangegeven in het bereik van het verzoek niet vervullen. </string>
<string name="http_status_417">Verwachting mislukt - De server kan niet voldoen aan de vereisten zoals aangegeven door het \'Verwacht\' verzoekheader-veld</string>
<string name="http_status_426">Upgrade vereist - De server weigert het verzoek te verwerken met het huidige protocol, tenzij de client upgrade naar een ander protocol.</string>
<string name="http_status_500">Interne serverfout - De server heeft een onverwachte fout ondervonden en kan het verzoek niet voltooien</string>
<string name="http_status_501">Niet geïmplementeerd - De server kan het verzoek niet uitvoeren of herkent de verzoekmethode niet</string>
<string name="http_status_502">Slechte Gateway - De server fungeert als een gateway en heeft een ongeldige reactie ontvangen van de host</string>
<string name="http_status_503">Dienst niet beschikbaar - Dit gebeurt vaak wanneer een server overbelast is of offline is voor onderhoud</string>
<string name="http_status_504">Gateway time-out - De server fungeerde als een gateway of proxy en heeft time-out bereikt tijdens het wachten op een reactie</string>
<string name="http_status_505">HTTP-versie niet ondersteund - De server ondersteunt de HTTP-versie in het verzoek niet</string>
<string name="http_status_506">Variant verhandelt ook - De server heeft een interne configuratiefout</string>
<string name="http_status_507">Onvoldoende opslagruimte - De server heeft niet genoeg opslagruimte om het verzoek succesvol te verwerken</string>
<string name="http_status_508">Loop gedetecteerd - De server detecteert een oneindige loop tijdens het verwerken van het verzoek</string>
<string name="http_status_511">Netwerk authenticatie vereist - De client moet geauthenticeerd zijn om toegang te krijgen tot het netwerk</string>
</resources> </resources>
@@ -642,6 +642,8 @@
<string name="server_did_not_provide_a_url_after_uploading">上传后服务器没有提供 URL</string> <string name="server_did_not_provide_a_url_after_uploading">上传后服务器没有提供 URL</string>
<string name="could_not_download_from_the_server">无法从服务器下载上传的媒体</string> <string name="could_not_download_from_the_server">无法从服务器下载上传的媒体</string>
<string name="could_not_prepare_local_file_to_upload">无法准备要上传的本地文件:%1$s</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="edit_draft">编辑草稿</string>
<string name="login_with_qr_code">使用二维码登录</string> <string name="login_with_qr_code">使用二维码登录</string>
<string name="route">路径</string> <string name="route">路径</string>
@@ -754,4 +756,33 @@
<string name="dvm_requesting_job">向 DVM 请求数据作业</string> <string name="dvm_requesting_job">向 DVM 请求数据作业</string>
<string name="nwc_payment_request">付款请求已发送,正在等待您的钱包的确认</string> <string name="nwc_payment_request">付款请求已发送,正在等待您的钱包的确认</string>
<string name="dvm_waiting_to_confirm_payment">等待 DVM 确认付款或返回结果</string> <string name="dvm_waiting_to_confirm_payment">等待 DVM 确认付款或返回结果</string>
<string name="http_status_400">Bad Request - 服务器无法处理请求。</string>
<string name="http_status_401">Unauthorized - 用户没有有效的身份凭证。</string>
<string name="http_status_402">Payment Required - 服务器需要付费以完成该请求。</string>
<string name="http_status_403">Forbidden - 用户没有权限发起该请求。</string>
<string name="http_status_404">Not Found - 服务器无法找到请求的地址。</string>
<string name="http_status_405">Method Not Allowed - 服务器支持该请求方法,但目标资源不支持。</string>
<string name="http_status_406">Not Acceptable - 服务器找不到满足该请求的内容。</string>
<string name="http_status_407">Proxy Authentication Required - 用户没有有效的身份凭证。</string>
<string name="http_status_408">Request Timeout - 服务器等待其他人时超时。</string>
<string name="http_status_409">Conflict - 服务器由于资源有冲突无法完成该请求。</string>
<string name="http_status_410">Gone - 请求的内容已从服务器上永久性删除。</string>
<string name="http_status_411">Length Required - 服务器由于内容长度未定义而拒绝该请求。</string>
<string name="http_status_412">Precondition Failed - 请求头部未满足服务器的前提条件。</string>
<string name="http_status_413">Payload Too Large - 服务器由于请求体大小超过接受的上限而拒绝处理该请求。</string>
<string name="http_status_414">URI Too Long - 客户端请求的 URL 过长导致服务器无法处理。</string>
<string name="http_status_415">Unsupported Media Type - 该请求使用了服务器不支持的媒体格式。</string>
<string name="http_status_416">Range Not Satisfiable - 服务器无法满足该请求头部中指定的 Range 标头范围。</string>
<string name="http_status_417">Expectation Failed - 服务器无法满足该请求头部中指定的 Expect 标头条件。</string>
<string name="http_status_426">Upgrade Required - 服务器拒绝使用当前协议处理该请求,除非客户端升级到其他协议。</string>
<string name="http_status_500">Internal Server Error -服务器遭遇意外错误而无法完成请求。</string>
<string name="http_status_501">Not Implemented - 服务器无法完成该请求或不支持该请求方法。</string>
<string name="http_status_502">Bad Gateway - 网关服务器收到了源服务器的无效响应。</string>
<string name="http_status_503">Service Unavailable - 该情况通常发生在服务器超载或因维护而宕机。</string>
<string name="http_status_504">Gateway Timeout - 网关服务器因等待源服务器响应而超时。</string>
<string name="http_status_505">HTTP Version Not Supported - 服务器不支持该请求的 HTTP 版本。</string>
<string name="http_status_506">Variant Also Negotiates - 服务器内部配置错误。</string>
<string name="http_status_507">Insufficient Storage - 服务器没有足够的存储空间用于处理该请求。</string>
<string name="http_status_508">Loop Detected - 服务器处理该请求时检测到死循环。</string>
<string name="http_status_511">Network Authentication Required - 客户端必须通过认证才能访问该网络。</string>
</resources> </resources>
@@ -82,7 +82,7 @@ fun TranslatableRichTextViewer(
nav: (String) -> Unit, nav: (String) -> Unit,
) { ) {
var translatedTextState by var translatedTextState by
remember(id, content.length) { mutableStateOf(TranslationConfig(content, null, null, false)) } remember(id) { mutableStateOf(TranslationConfig(content, null, null, false)) }
TranslateAndWatchLanguageChanges(content, accountViewModel) { result -> TranslateAndWatchLanguageChanges(content, accountViewModel) { result ->
if ( if (