Merge remote-tracking branch 'upstream/main' into NIP90-ContentDiscovery

This commit is contained in:
Believethehype
2024-05-14 23:16:49 +02:00
41 changed files with 202 additions and 200 deletions
+1 -1
View File
@@ -109,7 +109,7 @@ height="70">](https://github.com/vitorpamplona/amethyst/releases)
- [x] HTTP File Storage Integration (NIP-96 Draft) - [x] HTTP File Storage Integration (NIP-96 Draft)
- [x] HTTP Auth (NIP-98) - [x] HTTP Auth (NIP-98)
- [x] Classifieds (NIP-99) - [x] Classifieds (NIP-99)
- [x] Private Messages and Small Groups (NIP-24/Draft) - [x] Private Messages and Small Groups (NIP-17/Draft)
- [x] Versioned Encrypted Payloads (NIP-44/Draft) - [x] Versioned Encrypted Payloads (NIP-44/Draft)
- [x] Audio Tracks (zapstr.live) (kind:31337) - [x] Audio Tracks (zapstr.live) (kind:31337)
- [x] Push Notifications (Google and Unified Push) - [x] Push Notifications (Google and Unified Push)
@@ -91,7 +91,7 @@ private object PrefKeys {
const val LATEST_CONTACT_LIST = "latestContactList" const val LATEST_CONTACT_LIST = "latestContactList"
const val HIDE_DELETE_REQUEST_DIALOG = "hide_delete_request_dialog" const val HIDE_DELETE_REQUEST_DIALOG = "hide_delete_request_dialog"
const val HIDE_BLOCK_ALERT_DIALOG = "hide_block_alert_dialog" const val HIDE_BLOCK_ALERT_DIALOG = "hide_block_alert_dialog"
const val HIDE_NIP_24_WARNING_DIALOG = "hide_nip24_warning_dialog" const val HIDE_NIP_17_WARNING_DIALOG = "hide_nip24_warning_dialog" // delete later
const val USE_PROXY = "use_proxy" const val USE_PROXY = "use_proxy"
const val PROXY_PORT = "proxy_port" const val PROXY_PORT = "proxy_port"
const val SHOW_SENSITIVE_CONTENT = "show_sensitive_content" const val SHOW_SENSITIVE_CONTENT = "show_sensitive_content"
@@ -318,7 +318,7 @@ object LocalPreferences {
Event.mapper.writeValueAsString(account.backupContactList), Event.mapper.writeValueAsString(account.backupContactList),
) )
putBoolean(PrefKeys.HIDE_DELETE_REQUEST_DIALOG, account.hideDeleteRequestDialog) putBoolean(PrefKeys.HIDE_DELETE_REQUEST_DIALOG, account.hideDeleteRequestDialog)
putBoolean(PrefKeys.HIDE_NIP_24_WARNING_DIALOG, account.hideNIP24WarningDialog) putBoolean(PrefKeys.HIDE_NIP_17_WARNING_DIALOG, account.hideNIP17WarningDialog)
putBoolean(PrefKeys.HIDE_BLOCK_ALERT_DIALOG, account.hideBlockAlertDialog) putBoolean(PrefKeys.HIDE_BLOCK_ALERT_DIALOG, account.hideBlockAlertDialog)
putBoolean(PrefKeys.USE_PROXY, account.proxy != null) putBoolean(PrefKeys.USE_PROXY, account.proxy != null)
putInt(PrefKeys.PROXY_PORT, account.proxyPort) putInt(PrefKeys.PROXY_PORT, account.proxyPort)
@@ -526,7 +526,7 @@ object LocalPreferences {
val hideDeleteRequestDialog = getBoolean(PrefKeys.HIDE_DELETE_REQUEST_DIALOG, false) val hideDeleteRequestDialog = getBoolean(PrefKeys.HIDE_DELETE_REQUEST_DIALOG, false)
val hideBlockAlertDialog = getBoolean(PrefKeys.HIDE_BLOCK_ALERT_DIALOG, false) val hideBlockAlertDialog = getBoolean(PrefKeys.HIDE_BLOCK_ALERT_DIALOG, false)
val hideNIP24WarningDialog = getBoolean(PrefKeys.HIDE_NIP_24_WARNING_DIALOG, false) val hideNIP17WarningDialog = getBoolean(PrefKeys.HIDE_NIP_17_WARNING_DIALOG, false)
val useProxy = getBoolean(PrefKeys.USE_PROXY, false) val useProxy = getBoolean(PrefKeys.USE_PROXY, false)
val proxyPort = getInt(PrefKeys.PROXY_PORT, 9050) val proxyPort = getInt(PrefKeys.PROXY_PORT, 9050)
val proxy = HttpClientManager.initProxy(useProxy, "127.0.0.1", proxyPort) val proxy = HttpClientManager.initProxy(useProxy, "127.0.0.1", proxyPort)
@@ -591,7 +591,7 @@ object LocalPreferences {
zapPaymentRequest = zapPaymentRequestServer, zapPaymentRequest = zapPaymentRequestServer,
hideDeleteRequestDialog = hideDeleteRequestDialog, hideDeleteRequestDialog = hideDeleteRequestDialog,
hideBlockAlertDialog = hideBlockAlertDialog, hideBlockAlertDialog = hideBlockAlertDialog,
hideNIP24WarningDialog = hideNIP24WarningDialog, hideNIP17WarningDialog = hideNIP17WarningDialog,
backupContactList = latestContactList, backupContactList = latestContactList,
proxy = proxy, proxy = proxy,
proxyPort = proxyPort, proxyPort = proxyPort,
@@ -78,7 +78,7 @@ import com.vitorpamplona.quartz.events.LnZapPaymentResponseEvent
import com.vitorpamplona.quartz.events.LnZapRequestEvent import com.vitorpamplona.quartz.events.LnZapRequestEvent
import com.vitorpamplona.quartz.events.MetadataEvent import com.vitorpamplona.quartz.events.MetadataEvent
import com.vitorpamplona.quartz.events.MuteListEvent import com.vitorpamplona.quartz.events.MuteListEvent
import com.vitorpamplona.quartz.events.NIP24Factory import com.vitorpamplona.quartz.events.NIP17Factory
import com.vitorpamplona.quartz.events.OtsEvent import com.vitorpamplona.quartz.events.OtsEvent
import com.vitorpamplona.quartz.events.PeopleListEvent import com.vitorpamplona.quartz.events.PeopleListEvent
import com.vitorpamplona.quartz.events.PollNoteEvent import com.vitorpamplona.quartz.events.PollNoteEvent
@@ -185,7 +185,7 @@ class Account(
var zapPaymentRequest: Nip47WalletConnect.Nip47URI? = null, var zapPaymentRequest: Nip47WalletConnect.Nip47URI? = null,
var hideDeleteRequestDialog: Boolean = false, var hideDeleteRequestDialog: Boolean = false,
var hideBlockAlertDialog: Boolean = false, var hideBlockAlertDialog: Boolean = false,
var hideNIP24WarningDialog: Boolean = false, var hideNIP17WarningDialog: Boolean = false,
var backupContactList: ContactListEvent? = null, var backupContactList: ContactListEvent? = null,
var proxy: Proxy? = null, var proxy: Proxy? = null,
var proxyPort: Int = 9050, var proxyPort: Int = 9050,
@@ -593,7 +593,7 @@ class Account(
val emojiUrl = EmojiUrl.decode(reaction) val emojiUrl = EmojiUrl.decode(reaction)
if (emojiUrl != null) { if (emojiUrl != null) {
note.event?.let { note.event?.let {
NIP24Factory().createReactionWithinGroup( NIP17Factory().createReactionWithinGroup(
emojiUrl = emojiUrl, emojiUrl = emojiUrl,
originalNote = it, originalNote = it,
to = users, to = users,
@@ -608,7 +608,7 @@ class Account(
} }
note.event?.let { note.event?.let {
NIP24Factory().createReactionWithinGroup( NIP17Factory().createReactionWithinGroup(
content = reaction, content = reaction,
originalNote = it, originalNote = it,
to = users, to = users,
@@ -1736,7 +1736,7 @@ class Account(
} }
} }
fun sendNIP24PrivateMessage( fun sendNIP17PrivateMessage(
message: String, message: String,
toUsers: List<HexKey>, toUsers: List<HexKey>,
subject: String? = null, subject: String? = null,
@@ -1754,7 +1754,7 @@ class Account(
val repliesToHex = listOfNotNull(replyingTo?.idHex).ifEmpty { null } val repliesToHex = listOfNotNull(replyingTo?.idHex).ifEmpty { null }
val mentionsHex = mentions?.map { it.pubkeyHex } val mentionsHex = mentions?.map { it.pubkeyHex }
NIP24Factory().createMsgNIP24( NIP17Factory().createMsgNIP17(
msg = message, msg = message,
to = toUsers, to = toUsers,
subject = subject, subject = subject,
@@ -1783,7 +1783,7 @@ class Account(
} }
} }
fun broadcastPrivately(signedEvents: NIP24Factory.Result) { fun broadcastPrivately(signedEvents: NIP17Factory.Result) {
val mine = signedEvents.wraps.filter { (it.recipientPubKey() == signer.pubKey) } val mine = signedEvents.wraps.filter { (it.recipientPubKey() == signer.pubKey) }
mine.forEach { giftWrap -> mine.forEach { giftWrap ->
@@ -2538,8 +2538,8 @@ class Account(
saveable.invalidateData() saveable.invalidateData()
} }
fun setHideNIP24WarningDialog() { fun setHideNIP17WarningDialog() {
hideNIP24WarningDialog = true hideNIP17WarningDialog = true
saveable.invalidateData() saveable.invalidateData()
} }
@@ -92,10 +92,10 @@ open class NewPostViewModel() : ViewModel() {
var accountViewModel: AccountViewModel? = null var accountViewModel: AccountViewModel? = null
var account: Account? = null var account: Account? = null
var requiresNIP24: Boolean = false var requiresNIP17: Boolean = false
var originalNote: Note? = null var originalNote: Note? by mutableStateOf<Note?>(null)
var forkedFromNote: Note? = null var forkedFromNote: Note? by mutableStateOf<Note?>(null)
var pTags by mutableStateOf<List<User>?>(null) var pTags by mutableStateOf<List<User>?>(null)
var eTags by mutableStateOf<List<Note>?>(null) var eTags by mutableStateOf<List<Note>?>(null)
@@ -169,8 +169,8 @@ open class NewPostViewModel() : ViewModel() {
var wantsZapraiser by mutableStateOf(false) var wantsZapraiser by mutableStateOf(false)
var zapRaiserAmount by mutableStateOf<Long?>(null) var zapRaiserAmount by mutableStateOf<Long?>(null)
// NIP24 Wrapped DMs / Group messages // NIP17 Wrapped DMs / Group messages
var nip24 by mutableStateOf(false) var nip17 by mutableStateOf(false)
val draftTextChanges = Channel<String>(Channel.CONFLATED) val draftTextChanges = Channel<String>(Channel.CONFLATED)
@@ -425,8 +425,8 @@ open class NewPostViewModel() : ViewModel() {
TextFieldValue(draftEvent.content()) TextFieldValue(draftEvent.content())
} }
requiresNIP24 = draftEvent is ChatMessageEvent requiresNIP17 = draftEvent is ChatMessageEvent
nip24 = draftEvent is ChatMessageEvent nip17 = draftEvent is ChatMessageEvent
if (draftEvent is ChatMessageEvent) { if (draftEvent is ChatMessageEvent) {
toUsers = toUsers =
@@ -557,7 +557,7 @@ open class NewPostViewModel() : ViewModel() {
.toSet() .toSet()
.toList() .toList()
account?.sendNIP24PrivateMessage( account?.sendNIP17PrivateMessage(
message = tagger.message, message = tagger.message,
toUsers = receivers, toUsers = receivers,
subject = subject.text.ifBlank { null }, subject = subject.text.ifBlank { null },
@@ -571,8 +571,8 @@ open class NewPostViewModel() : ViewModel() {
draftTag = localDraft, draftTag = localDraft,
) )
} else if (!dmUsers.isNullOrEmpty()) { } else if (!dmUsers.isNullOrEmpty()) {
if (nip24 || dmUsers.size > 1) { if (nip17 || dmUsers.size > 1) {
account?.sendNIP24PrivateMessage( account?.sendNIP17PrivateMessage(
message = tagger.message, message = tagger.message,
toUsers = dmUsers.map { it.pubkeyHex }, toUsers = dmUsers.map { it.pubkeyHex },
subject = subject.text.ifBlank { null }, subject = subject.text.ifBlank { null },
@@ -1131,10 +1131,10 @@ open class NewPostViewModel() : ViewModel() {
} }
fun toggleNIP04And24() { fun toggleNIP04And24() {
if (requiresNIP24) { if (requiresNIP17) {
nip24 = true nip17 = true
} else { } else {
nip24 = !nip24 nip17 = !nip17
} }
if (message.text.isNotBlank()) { if (message.text.isNotBlank()) {
saveDraft() saveDraft()
@@ -64,7 +64,7 @@ class MediaCompressor {
appSpecificStorageConfiguration = AppSpecificStorageConfiguration(), appSpecificStorageConfiguration = AppSpecificStorageConfiguration(),
configureWith = configureWith =
Configuration( Configuration(
quality = VideoQuality.LOW, quality = VideoQuality.MEDIUM,
// => required name // => required name
videoNames = listOf(UUID.randomUUID().toString()), videoNames = listOf(UUID.randomUUID().toString()),
), ),
@@ -54,6 +54,7 @@ import androidx.lifecycle.distinctUntilChanged
import androidx.lifecycle.map import androidx.lifecycle.map
import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.compose.produceCachedStateAsync import com.vitorpamplona.amethyst.commons.compose.produceCachedStateAsync
import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.Channel import com.vitorpamplona.amethyst.model.Channel
import com.vitorpamplona.amethyst.model.FeatureSetType import com.vitorpamplona.amethyst.model.FeatureSetType
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
@@ -75,6 +76,7 @@ import com.vitorpamplona.amethyst.ui.note.elements.MoreOptionsButton
import com.vitorpamplona.amethyst.ui.note.elements.Reward import com.vitorpamplona.amethyst.ui.note.elements.Reward
import com.vitorpamplona.amethyst.ui.note.elements.ShowForkInformation import com.vitorpamplona.amethyst.ui.note.elements.ShowForkInformation
import com.vitorpamplona.amethyst.ui.note.elements.TimeAgo import com.vitorpamplona.amethyst.ui.note.elements.TimeAgo
import com.vitorpamplona.amethyst.ui.note.types.BadgeDisplay
import com.vitorpamplona.amethyst.ui.note.types.DisplayPeopleList import com.vitorpamplona.amethyst.ui.note.types.DisplayPeopleList
import com.vitorpamplona.amethyst.ui.note.types.DisplayRelaySet import com.vitorpamplona.amethyst.ui.note.types.DisplayRelaySet
import com.vitorpamplona.amethyst.ui.note.types.EditState import com.vitorpamplona.amethyst.ui.note.types.EditState
@@ -87,6 +89,7 @@ import com.vitorpamplona.amethyst.ui.note.types.RenderBadgeAward
import com.vitorpamplona.amethyst.ui.note.types.RenderChannelMessage import com.vitorpamplona.amethyst.ui.note.types.RenderChannelMessage
import com.vitorpamplona.amethyst.ui.note.types.RenderChatMessage import com.vitorpamplona.amethyst.ui.note.types.RenderChatMessage
import com.vitorpamplona.amethyst.ui.note.types.RenderClassifieds import com.vitorpamplona.amethyst.ui.note.types.RenderClassifieds
import com.vitorpamplona.amethyst.ui.note.types.RenderCommunity
import com.vitorpamplona.amethyst.ui.note.types.RenderEmojiPack import com.vitorpamplona.amethyst.ui.note.types.RenderEmojiPack
import com.vitorpamplona.amethyst.ui.note.types.RenderFhirResource import com.vitorpamplona.amethyst.ui.note.types.RenderFhirResource
import com.vitorpamplona.amethyst.ui.note.types.RenderGitIssueEvent import com.vitorpamplona.amethyst.ui.note.types.RenderGitIssueEvent
@@ -108,7 +111,7 @@ import com.vitorpamplona.amethyst.ui.note.types.RenderTextModificationEvent
import com.vitorpamplona.amethyst.ui.note.types.RenderWikiContent import com.vitorpamplona.amethyst.ui.note.types.RenderWikiContent
import com.vitorpamplona.amethyst.ui.note.types.VideoDisplay import com.vitorpamplona.amethyst.ui.note.types.VideoDisplay
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.ChannelHeader import com.vitorpamplona.amethyst.ui.screen.loggedIn.RenderChannelHeader
import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer
import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer
import com.vitorpamplona.amethyst.ui.theme.Font12SP import com.vitorpamplona.amethyst.ui.theme.Font12SP
@@ -137,6 +140,7 @@ import com.vitorpamplona.quartz.events.AppDefinitionEvent
import com.vitorpamplona.quartz.events.AudioHeaderEvent import com.vitorpamplona.quartz.events.AudioHeaderEvent
import com.vitorpamplona.quartz.events.AudioTrackEvent import com.vitorpamplona.quartz.events.AudioTrackEvent
import com.vitorpamplona.quartz.events.BadgeAwardEvent import com.vitorpamplona.quartz.events.BadgeAwardEvent
import com.vitorpamplona.quartz.events.BadgeDefinitionEvent
import com.vitorpamplona.quartz.events.BaseTextNoteEvent import com.vitorpamplona.quartz.events.BaseTextNoteEvent
import com.vitorpamplona.quartz.events.ChannelCreateEvent import com.vitorpamplona.quartz.events.ChannelCreateEvent
import com.vitorpamplona.quartz.events.ChannelMessageEvent import com.vitorpamplona.quartz.events.ChannelMessageEvent
@@ -240,13 +244,22 @@ fun AcceptableNote(
is ChannelCreateEvent, is ChannelCreateEvent,
is ChannelMetadataEvent, is ChannelMetadataEvent,
-> ->
ChannelHeader( RenderChannelHeader(
channelNote = baseNote, channelNote = baseNote,
showVideo = !makeItShort, showVideo = !makeItShort,
sendToChannel = true, sendToChannel = true,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
is CommunityDefinitionEvent ->
(baseNote as? AddressableNote)?.let {
RenderCommunity(
baseNote = it,
accountViewModel = accountViewModel,
nav = nav,
)
}
is BadgeDefinitionEvent -> BadgeDisplay(baseNote = baseNote)
else -> else ->
LongPressToQuickAction(baseNote = baseNote, accountViewModel = accountViewModel) { LongPressToQuickAction(baseNote = baseNote, accountViewModel = accountViewModel) {
showPopup, showPopup,
@@ -273,13 +286,22 @@ fun AcceptableNote(
is ChannelCreateEvent, is ChannelCreateEvent,
is ChannelMetadataEvent, is ChannelMetadataEvent,
-> ->
ChannelHeader( RenderChannelHeader(
channelNote = baseNote, channelNote = baseNote,
showVideo = !makeItShort, showVideo = !makeItShort,
sendToChannel = true, sendToChannel = true,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
is CommunityDefinitionEvent ->
(baseNote as? AddressableNote)?.let {
RenderCommunity(
baseNote = it,
accountViewModel = accountViewModel,
nav = nav,
)
}
is BadgeDefinitionEvent -> BadgeDisplay(baseNote = baseNote)
is FileHeaderEvent -> FileHeaderDisplay(baseNote, false, accountViewModel) is FileHeaderEvent -> FileHeaderDisplay(baseNote, false, accountViewModel)
is FileStorageHeaderEvent -> FileStorageHeaderDisplay(baseNote, false, accountViewModel) is FileStorageHeaderEvent -> FileStorageHeaderDisplay(baseNote, false, accountViewModel)
else -> else ->
@@ -25,12 +25,9 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -50,6 +47,7 @@ import androidx.lifecycle.distinctUntilChanged
import androidx.lifecycle.map import androidx.lifecycle.map
import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.model.AddressableNote import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
@@ -74,7 +72,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size25dp
import com.vitorpamplona.amethyst.ui.theme.Size35dp import com.vitorpamplona.amethyst.ui.theme.Size35dp
import com.vitorpamplona.amethyst.ui.theme.Size5dp import com.vitorpamplona.amethyst.ui.theme.Size5dp
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
import com.vitorpamplona.amethyst.ui.theme.StdPadding import com.vitorpamplona.amethyst.ui.theme.innerPostModifier
import com.vitorpamplona.quartz.events.CommunityDefinitionEvent import com.vitorpamplona.quartz.events.CommunityDefinitionEvent
import com.vitorpamplona.quartz.events.EmptyTagList import com.vitorpamplona.quartz.events.EmptyTagList
import com.vitorpamplona.quartz.events.Participant import com.vitorpamplona.quartz.events.Participant
@@ -84,43 +82,22 @@ import kotlinx.collections.immutable.toImmutableList
import java.util.Locale import java.util.Locale
@Composable @Composable
fun CommunityHeader( fun RenderCommunity(
baseNote: AddressableNote, baseNote: Note,
sendToCommunity: Boolean,
modifier: Modifier = StdPadding,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: (String) -> Unit, nav: (String) -> Unit,
) { ) {
val expanded = remember { mutableStateOf(false) } if (baseNote is AddressableNote) {
Row(
Column(Modifier.fillMaxWidth()) { MaterialTheme.colorScheme.innerPostModifier.clickable {
Column( routeFor(baseNote, accountViewModel.userProfile())?.let { nav(it) }
verticalArrangement = Arrangement.Center, }.padding(Size10dp),
modifier =
Modifier.clickable {
if (sendToCommunity) {
routeFor(baseNote, accountViewModel.userProfile())?.let { nav(it) }
} else {
expanded.value = !expanded.value
}
},
) { ) {
ShortCommunityHeader( ShortCommunityHeader(
baseNote = baseNote, baseNote = baseNote,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
if (expanded.value) {
Column(Modifier.verticalScroll(rememberScrollState())) {
LongCommunityHeader(
baseNote = baseNote,
lineModifier = modifier,
accountViewModel = accountViewModel,
nav = nav,
)
}
}
} }
} }
} }
@@ -58,9 +58,8 @@ fun RenderPostApproval(
noteEvent.communities().forEach { tag -> noteEvent.communities().forEach { tag ->
LoadAddressableNote(tag, accountViewModel) { baseNote -> LoadAddressableNote(tag, accountViewModel) { baseNote ->
baseNote?.let { baseNote?.let {
CommunityHeader( RenderCommunity(
baseNote = it, baseNote = it,
sendToCommunity = true,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav, nav = nav,
) )
@@ -666,11 +666,11 @@ class AccountViewModel(val account: Account, val settings: SettingsState) : View
viewModelScope.launch(Dispatchers.IO) { account.setHideDeleteRequestDialog() } viewModelScope.launch(Dispatchers.IO) { account.setHideDeleteRequestDialog() }
} }
val hideNIP24WarningDialog: Boolean val hideNIP17WarningDialog: Boolean
get() = account.hideNIP24WarningDialog get() = account.hideNIP17WarningDialog
fun dontShowNIP24WarningDialog() { fun dontShowNIP17WarningDialog() {
account.setHideNIP24WarningDialog() account.setHideNIP17WarningDialog()
} }
val hideBlockAlertDialog: Boolean val hideBlockAlertDialog: Boolean
@@ -147,6 +147,7 @@ import com.vitorpamplona.amethyst.ui.theme.EditFieldModifier
import com.vitorpamplona.amethyst.ui.theme.EditFieldTrailingIconModifier import com.vitorpamplona.amethyst.ui.theme.EditFieldTrailingIconModifier
import com.vitorpamplona.amethyst.ui.theme.HeaderPictureModifier import com.vitorpamplona.amethyst.ui.theme.HeaderPictureModifier
import com.vitorpamplona.amethyst.ui.theme.RowColSpacing import com.vitorpamplona.amethyst.ui.theme.RowColSpacing
import com.vitorpamplona.amethyst.ui.theme.Size10dp
import com.vitorpamplona.amethyst.ui.theme.Size25dp import com.vitorpamplona.amethyst.ui.theme.Size25dp
import com.vitorpamplona.amethyst.ui.theme.Size34dp import com.vitorpamplona.amethyst.ui.theme.Size34dp
import com.vitorpamplona.amethyst.ui.theme.Size35dp import com.vitorpamplona.amethyst.ui.theme.Size35dp
@@ -154,6 +155,7 @@ import com.vitorpamplona.amethyst.ui.theme.SmallBorder
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
import com.vitorpamplona.amethyst.ui.theme.StdPadding import com.vitorpamplona.amethyst.ui.theme.StdPadding
import com.vitorpamplona.amethyst.ui.theme.ZeroPadding import com.vitorpamplona.amethyst.ui.theme.ZeroPadding
import com.vitorpamplona.amethyst.ui.theme.innerPostModifier
import com.vitorpamplona.amethyst.ui.theme.liveStreamTag import com.vitorpamplona.amethyst.ui.theme.liveStreamTag
import com.vitorpamplona.amethyst.ui.theme.placeholderText import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.quartz.events.EmptyTagList import com.vitorpamplona.quartz.events.EmptyTagList
@@ -587,6 +589,25 @@ fun MyTextField(
} }
} }
@Composable
fun RenderChannelHeader(
channelNote: Note,
showVideo: Boolean,
sendToChannel: Boolean,
modifier: Modifier = StdPadding,
accountViewModel: AccountViewModel,
nav: (String) -> Unit,
) {
ChannelHeader(
channelNote = channelNote,
showVideo = showVideo,
sendToChannel = sendToChannel,
modifier = MaterialTheme.colorScheme.innerPostModifier.padding(Size10dp),
accountViewModel = accountViewModel,
nav = nav,
)
}
@Composable @Composable
fun ChannelHeader( fun ChannelHeader(
channelNote: Note, channelNote: Note,
@@ -122,7 +122,6 @@ import com.vitorpamplona.quartz.events.findURLs
import kotlinx.collections.immutable.persistentSetOf import kotlinx.collections.immutable.persistentSetOf
import kotlinx.collections.immutable.toPersistentList import kotlinx.collections.immutable.toPersistentList
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.receiveAsFlow
@@ -210,7 +209,6 @@ fun LoadRoomByAuthor(
content(room) content(room)
} }
@OptIn(FlowPreview::class)
@Composable @Composable
fun PrepareChatroomViewModels( fun PrepareChatroomViewModels(
room: ChatroomKey, room: ChatroomKey,
@@ -231,23 +229,8 @@ fun PrepareChatroomViewModels(
val newPostModel: NewPostViewModel = viewModel() val newPostModel: NewPostViewModel = viewModel()
newPostModel.accountViewModel = accountViewModel newPostModel.accountViewModel = accountViewModel
newPostModel.account = accountViewModel.account newPostModel.account = accountViewModel.account
newPostModel.requiresNIP24 = room.users.size > 1 newPostModel.requiresNIP17 = room.users.size > 1
if (newPostModel.requiresNIP24) { newPostModel.nip17 = true // defaults to the new GiftWrap
newPostModel.nip24 = true
}
LaunchedEffect(key1 = newPostModel) {
launch(Dispatchers.IO) {
val hasNIP24 =
accountViewModel.userProfile().privateChatrooms[room]?.roomMessages?.any {
it.event is ChatMessageEvent &&
(it.event as ChatMessageEvent).pubKey != accountViewModel.userProfile().pubkeyHex
}
if (hasNIP24 == true && newPostModel.nip24 == false) {
newPostModel.nip24 = true
}
}
}
if (draftMessage != null) { if (draftMessage != null) {
LaunchedEffect(key1 = draftMessage) { newPostModel.message = TextFieldValue(draftMessage) } LaunchedEffect(key1 = draftMessage) { newPostModel.message = TextFieldValue(draftMessage) }
@@ -373,8 +356,8 @@ private fun innerSendPost(
val urls = findURLs(newPostModel.message.text) val urls = findURLs(newPostModel.message.text)
val usedAttachments = newPostModel.nip94attachments.filter { it.urls().intersect(urls.toSet()).isNotEmpty() } val usedAttachments = newPostModel.nip94attachments.filter { it.urls().intersect(urls.toSet()).isNotEmpty() }
if (newPostModel.nip24 || room.users.size > 1 || replyTo.value?.event is ChatMessageEvent) { if (newPostModel.nip17 || room.users.size > 1 || replyTo.value?.event is ChatMessageEvent) {
accountViewModel.account.sendNIP24PrivateMessage( accountViewModel.account.sendNIP17PrivateMessage(
message = newPostModel.message.text, message = newPostModel.message.text,
toUsers = room.users.toList(), toUsers = room.users.toList(),
replyingTo = replyTo.value, replyingTo = replyTo.value,
@@ -454,13 +437,13 @@ fun PrivateMessageEditFieldRow(
) )
} }
var wantsToActivateNIP24 by remember { mutableStateOf(false) } var wantsToActivateNIP17 by remember { mutableStateOf(false) }
if (wantsToActivateNIP24) { if (wantsToActivateNIP17) {
NewFeatureNIP24AlertDialog( NewFeatureNIP17AlertDialog(
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
onConfirm = { channelScreenModel.toggleNIP04And24() }, onConfirm = { channelScreenModel.toggleNIP04And24() },
onDismiss = { wantsToActivateNIP24 = false }, onDismiss = { wantsToActivateNIP17 = false },
) )
} }
@@ -468,17 +451,17 @@ fun PrivateMessageEditFieldRow(
modifier = Size30Modifier, modifier = Size30Modifier,
onClick = { onClick = {
if ( if (
!accountViewModel.hideNIP24WarningDialog && !accountViewModel.hideNIP17WarningDialog &&
!channelScreenModel.nip24 && !channelScreenModel.nip17 &&
!channelScreenModel.requiresNIP24 !channelScreenModel.requiresNIP17
) { ) {
wantsToActivateNIP24 = true wantsToActivateNIP17 = true
} else { } else {
channelScreenModel.toggleNIP04And24() channelScreenModel.toggleNIP04And24()
} }
}, },
) { ) {
if (channelScreenModel.nip24) { if (channelScreenModel.nip17) {
IncognitoIconOn( IncognitoIconOn(
modifier = modifier =
Modifier Modifier
@@ -537,7 +520,7 @@ fun ShowUserSuggestionList(
} }
@Composable @Composable
fun NewFeatureNIP24AlertDialog( fun NewFeatureNIP17AlertDialog(
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
onConfirm: () -> Unit, onConfirm: () -> Unit,
onDismiss: () -> Unit, onDismiss: () -> Unit,
@@ -545,10 +528,10 @@ fun NewFeatureNIP24AlertDialog(
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
QuickActionAlertDialog( QuickActionAlertDialog(
title = stringResource(R.string.new_feature_nip24_might_not_be_available_title), title = stringResource(R.string.new_feature_nip17_might_not_be_available_title),
textContent = stringResource(R.string.new_feature_nip24_might_not_be_available_description), textContent = stringResource(R.string.new_feature_nip17_might_not_be_available_description),
buttonIconResource = R.drawable.incognito, buttonIconResource = R.drawable.incognito,
buttonText = stringResource(R.string.new_feature_nip24_activate), buttonText = stringResource(R.string.new_feature_nip17_activate),
onClickDoOnce = { onClickDoOnce = {
scope.launch(Dispatchers.IO) { onConfirm() } scope.launch(Dispatchers.IO) { onConfirm() }
onDismiss() onDismiss()
@@ -556,7 +539,7 @@ fun NewFeatureNIP24AlertDialog(
onClickDontShowAgain = { onClickDontShowAgain = {
scope.launch(Dispatchers.IO) { scope.launch(Dispatchers.IO) {
onConfirm() onConfirm()
accountViewModel.dontShowNIP24WarningDialog() accountViewModel.dontShowNIP17WarningDialog()
} }
onDismiss() onDismiss()
}, },
@@ -732,7 +715,7 @@ fun NewSubjectView(
PostButton( PostButton(
onPost = { onPost = {
scope.launch(Dispatchers.IO) { scope.launch(Dispatchers.IO) {
accountViewModel.account.sendNIP24PrivateMessage( accountViewModel.account.sendNIP17PrivateMessage(
message = message.value, message = message.value,
toUsers = room.users.toList(), toUsers = room.users.toList(),
subject = groupName.value.ifBlank { null }, subject = groupName.value.ifBlank { null },
+5 -5
View File
@@ -410,11 +410,11 @@
<string name="default_relays">الافتراضي</string> <string name="default_relays">الافتراضي</string>
<string name="select_a_relay_to_continue">اختر مرحل للإستمرار</string> <string name="select_a_relay_to_continue">اختر مرحل للإستمرار</string>
<string name="geohash_title">عرض الموقع كـ </string> <string name="geohash_title">عرض الموقع كـ </string>
<string name="new_feature_nip24_might_not_be_available_title">ميزة جديدة</string> <string name="new_feature_nip17_might_not_be_available_title">ميزة جديدة</string>
<string name="new_feature_nip24_might_not_be_available_description">يتطلب تنشيط هذا الوضع من Amethyst إرسال رسالة خاصة من نوع NIP-24 <string name="new_feature_nip17_might_not_be_available_description">يتطلب تنشيط هذا الوضع من Amethyst إرسال رسالة خاصة من نوع NIP-17
(GiftWrapped, Sealed Direct and group Messages) . (GiftWrapped, Sealed Direct and group Messages) .
إضافة NIP-24 لا تزال جديدة ومعظم العملاء لم يدعموها بعد. تأكد من أن المستلم يستخدم عميل متوافق.</string> إضافة NIP-17 لا تزال جديدة ومعظم العملاء لم يدعموها بعد. تأكد من أن المستلم يستخدم عميل متوافق.</string>
<string name="new_feature_nip24_activate">تفعيل</string> <string name="new_feature_nip17_activate">تفعيل</string>
<string name="messages_create_public_chat">عام</string> <string name="messages_create_public_chat">عام</string>
<string name="messages_new_message">خاص</string> <string name="messages_new_message">خاص</string>
<string name="messages_new_message_to">إلى</string> <string name="messages_new_message_to">إلى</string>
@@ -440,7 +440,7 @@
<string name="lightning_wallets_not_found">خطأ أثناء تحليل رسالة المشكل</string> <string name="lightning_wallets_not_found">خطأ أثناء تحليل رسالة المشكل</string>
<string name="error_dialog_talk_to_user">رسالة إلى المستخدم</string> <string name="error_dialog_talk_to_user">رسالة إلى المستخدم</string>
<string name="error_dialog_button_ok">موافق</string> <string name="error_dialog_button_ok">موافق</string>
<string name="relay_information_document_error_assemble_url">فشل الوصول إلى <string name="relay_information_document_error_assemble_url">فشل الوصول إلى
%1$s: %2$s</string> %1$s: %2$s</string>
<string name="active_for_home">الصفحة الرئيسية</string> <string name="active_for_home">الصفحة الرئيسية</string>
<string name="active_for_search">البحث</string> <string name="active_for_search">البحث</string>
+3 -3
View File
@@ -436,9 +436,9 @@
<string name="geohash_title">আপনার অবস্থান এভাবে প্রকাশ করুন </string> <string name="geohash_title">আপনার অবস্থান এভাবে প্রকাশ করুন </string>
<string name="geohash_explainer">পোস্টে আপনার অবস্থানের একটি জিওহ্যাশ যোগ করে। জনসাধারণ জানবে যে আপনি বর্তমান অবস্থান থেকে ৫ কিলোমিটার (৩ মাইল) এর মধ্যে আছেন</string> <string name="geohash_explainer">পোস্টে আপনার অবস্থানের একটি জিওহ্যাশ যোগ করে। জনসাধারণ জানবে যে আপনি বর্তমান অবস্থান থেকে ৫ কিলোমিটার (৩ মাইল) এর মধ্যে আছেন</string>
<string name="add_sensitive_content_explainer">আপনার পেশকৃত আধেয় দেখানোর আগে সংবেদনশীল আধেয়-সতর্কতা জারি করে। এটি সেসকল আধেয়র জন্য আদর্শ যেখানে NSFW উপাদান কিংবা এমনকিছু থাকতে পারে যা কারো কারো জন্য আপত্তিকর কিংবা সমস্যাজনক মনে হতে পারে।</string> <string name="add_sensitive_content_explainer">আপনার পেশকৃত আধেয় দেখানোর আগে সংবেদনশীল আধেয়-সতর্কতা জারি করে। এটি সেসকল আধেয়র জন্য আদর্শ যেখানে NSFW উপাদান কিংবা এমনকিছু থাকতে পারে যা কারো কারো জন্য আপত্তিকর কিংবা সমস্যাজনক মনে হতে পারে।</string>
<string name="new_feature_nip24_might_not_be_available_title">নতুন ফিচার</string> <string name="new_feature_nip17_might_not_be_available_title">নতুন ফিচার</string>
<string name="new_feature_nip24_might_not_be_available_description">এই মোড সক্রিয় করার জন্য অ্যামেথিস্টকে একটি NIP-24 বার্তা পাঠাতে হবে। (GiftWrapped, সিল করা সরাসরি এবং দলগত বার্তা)। NIP-24 নতুন এবং বেশিরভাগ ক্লায়েন্ট এখনও এটি বাস্তবায়ন করেনি। নিশ্চিত করুন যে প্রাপক একটি সামঞ্জস্যপূর্ণ ক্লায়েন্ট ব্যবহার করছে।</string> <string name="new_feature_nip17_might_not_be_available_description">এই মোড সক্রিয় করার জন্য অ্যামেথিস্টকে একটি NIP-17 বার্তা পাঠাতে হবে। (GiftWrapped, সিল করা সরাসরি এবং দলগত বার্তা)। NIP-17 নতুন এবং বেশিরভাগ ক্লায়েন্ট এখনও এটি বাস্তবায়ন করেনি। নিশ্চিত করুন যে প্রাপক একটি সামঞ্জস্যপূর্ণ ক্লায়েন্ট ব্যবহার করছে।</string>
<string name="new_feature_nip24_activate">সক্রিয় করুন</string> <string name="new_feature_nip17_activate">সক্রিয় করুন</string>
<string name="messages_create_public_chat">সর্বজনীন</string> <string name="messages_create_public_chat">সর্বজনীন</string>
<string name="messages_new_message">ব্যক্তিগত</string> <string name="messages_new_message">ব্যক্তিগত</string>
<string name="messages_new_message_to">প্রতি</string> <string name="messages_new_message_to">প্রতি</string>
+3 -3
View File
@@ -471,9 +471,9 @@
<string name="geohash_title">Zveřejnit polohu jako </string> <string name="geohash_title">Zveřejnit polohu jako </string>
<string name="geohash_explainer">Přidá Geohash vaší polohy do příspěvku. Veřejnost bude vědět, že se nacházíte do 5 km od aktuální polohy</string> <string name="geohash_explainer">Přidá Geohash vaší polohy do příspěvku. Veřejnost bude vědět, že se nacházíte do 5 km od aktuální polohy</string>
<string name="add_sensitive_content_explainer">Přidat varování o citlivém obsahu před zobrazením vašeho obsahu. Toto je ideální pro obsah NSFW (nebezpečné pro práci) nebo obsah, který někteří lidé mohou považovat za urážlivý nebo znepokojující</string> <string name="add_sensitive_content_explainer">Přidat varování o citlivém obsahu před zobrazením vašeho obsahu. Toto je ideální pro obsah NSFW (nebezpečné pro práci) nebo obsah, který někteří lidé mohou považovat za urážlivý nebo znepokojující</string>
<string name="new_feature_nip24_might_not_be_available_title">Nová funkce</string> <string name="new_feature_nip17_might_not_be_available_title">Nová funkce</string>
<string name="new_feature_nip24_might_not_be_available_description">Aktivace tohoto režimu vyžaduje od Amethystu odeslání zprávy NIP-24 (GiftWrapped, Zapečetěné přímé a skupinové zprávy). NIP-24 je nový a většina klientů ho zatím neimplementovala. Ujistěte se, že příjemce používá kompatibilního klienta.</string> <string name="new_feature_nip17_might_not_be_available_description">Aktivace tohoto režimu vyžaduje od Amethystu odeslání zprávy NIP-17 (GiftWrapped, Zapečetěné přímé a skupinové zprávy). NIP-17 je nový a většina klientů ho zatím neimplementovala. Ujistěte se, že příjemce používá kompatibilního klienta.</string>
<string name="new_feature_nip24_activate">Aktivovat</string> <string name="new_feature_nip17_activate">Aktivovat</string>
<string name="messages_create_public_chat">Veřejné</string> <string name="messages_create_public_chat">Veřejné</string>
<string name="messages_create_public_private_chat_desription">Nová veřejná nebo soukromá skupina</string> <string name="messages_create_public_private_chat_desription">Nová veřejná nebo soukromá skupina</string>
<string name="messages_new_message">Soukromé</string> <string name="messages_new_message">Soukromé</string>
+3 -3
View File
@@ -476,9 +476,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="geohash_title">Ort preisgeben als </string> <string name="geohash_title">Ort preisgeben als </string>
<string name="geohash_explainer">Fügt dem Beitrag einen Geohash Ihres Standorts hinzu. Die Öffentlichkeit wird wissen, dass Sie sich innerhalb von 5 km (3 mi) vom aktuellen Standort befinden</string> <string name="geohash_explainer">Fügt dem Beitrag einen Geohash Ihres Standorts hinzu. Die Öffentlichkeit wird wissen, dass Sie sich innerhalb von 5 km (3 mi) vom aktuellen Standort befinden</string>
<string name="add_sensitive_content_explainer">Fügt eine Warnung für sensiblen Inhalt hinzu, bevor Ihr Inhalt angezeigt wird. Dies ist ideal für NSFW-Inhalte (nicht sicher für die Arbeit) oder Inhalte, die manche Menschen als anstößig oder verstörend empfinden könnten</string> <string name="add_sensitive_content_explainer">Fügt eine Warnung für sensiblen Inhalt hinzu, bevor Ihr Inhalt angezeigt wird. Dies ist ideal für NSFW-Inhalte (nicht sicher für die Arbeit) oder Inhalte, die manche Menschen als anstößig oder verstörend empfinden könnten</string>
<string name="new_feature_nip24_might_not_be_available_title">Neues Feature</string> <string name="new_feature_nip17_might_not_be_available_title">Neues Feature</string>
<string name="new_feature_nip24_might_not_be_available_description">Um diesen Modus zu aktivieren, muss Amethyst eine NIP-24-Nachricht senden (GiftWrapped, Versiegelte Direkt- und Gruppennachrichten). NIP-24 ist neu und die meisten Clients haben es noch nicht implementiert. Stellen Sie sicher, dass der Empfänger einen kompatiblen Client verwendet.</string> <string name="new_feature_nip17_might_not_be_available_description">Um diesen Modus zu aktivieren, muss Amethyst eine NIP-17-Nachricht senden (GiftWrapped, Versiegelte Direkt- und Gruppennachrichten). NIP-17 ist neu und die meisten Clients haben es noch nicht implementiert. Stellen Sie sicher, dass der Empfänger einen kompatiblen Client verwendet.</string>
<string name="new_feature_nip24_activate">Aktivieren</string> <string name="new_feature_nip17_activate">Aktivieren</string>
<string name="messages_create_public_chat">Öffentlich</string> <string name="messages_create_public_chat">Öffentlich</string>
<string name="messages_create_public_private_chat_desription">Neue öffentliche oder private Gruppe</string> <string name="messages_create_public_private_chat_desription">Neue öffentliche oder private Gruppe</string>
<string name="messages_new_message">Privat</string> <string name="messages_new_message">Privat</string>
+3 -3
View File
@@ -429,9 +429,9 @@
<string name="geohash_title">Εμφάνιση τοποθεσίας ως </string> <string name="geohash_title">Εμφάνιση τοποθεσίας ως </string>
<string name="geohash_explainer">Προσθέτει ένα Geohash (γεωγραφικό στίγμα) της τοποθεσίας σας στη δημοσίευση. Το κοινό θα γνωρίζει ότι βρίσκεστε σε απόσταση 5km (3μίλια) από την τρέχουσα τοποθεσία</string> <string name="geohash_explainer">Προσθέτει ένα Geohash (γεωγραφικό στίγμα) της τοποθεσίας σας στη δημοσίευση. Το κοινό θα γνωρίζει ότι βρίσκεστε σε απόσταση 5km (3μίλια) από την τρέχουσα τοποθεσία</string>
<string name="add_sensitive_content_explainer">Προσθέτει μια προειδοποίηση ευαίσθητου περιεχομένου πριν εμφανίσει τη δημοσίευσή σας. Ιδανικό για δημοσίευση με περιεχόμενο NSFW ή περιεχόμενο που κάποια άτομα μπορεί να βρουν προσβλητικό ή ενοχλητικό</string> <string name="add_sensitive_content_explainer">Προσθέτει μια προειδοποίηση ευαίσθητου περιεχομένου πριν εμφανίσει τη δημοσίευσή σας. Ιδανικό για δημοσίευση με περιεχόμενο NSFW ή περιεχόμενο που κάποια άτομα μπορεί να βρουν προσβλητικό ή ενοχλητικό</string>
<string name="new_feature_nip24_might_not_be_available_title">Νέα Λειτουργία</string> <string name="new_feature_nip17_might_not_be_available_title">Νέα Λειτουργία</string>
<string name="new_feature_nip24_might_not_be_available_description">Η ενεργοποίηση αυτής της λειτουργίας απαιτεί από το Amethyst να στείλει ένα μήνυμα NIP-24 (GiftWrapped, Sealed Direct και Group Messages). Το NIP-24 είναι νέο και οι περισσότεροι clients δεν το έχουν υιοθετήσει ακόμα. Βεβαιωθείτε ότι ο αποδέκτης χρησιμοποιεί έναν συμβατό client.</string> <string name="new_feature_nip17_might_not_be_available_description">Η ενεργοποίηση αυτής της λειτουργίας απαιτεί από το Amethyst να στείλει ένα μήνυμα NIP-17 (GiftWrapped, Sealed Direct και Group Messages). Το NIP-17 είναι νέο και οι περισσότεροι clients δεν το έχουν υιοθετήσει ακόμα. Βεβαιωθείτε ότι ο αποδέκτης χρησιμοποιεί έναν συμβατό client.</string>
<string name="new_feature_nip24_activate">Ενεργοποίηση</string> <string name="new_feature_nip17_activate">Ενεργοποίηση</string>
<string name="messages_create_public_chat">Δημόσια</string> <string name="messages_create_public_chat">Δημόσια</string>
<string name="messages_new_message">Ιδιωτικό</string> <string name="messages_new_message">Ιδιωτικό</string>
<string name="messages_new_message_to">Προς</string> <string name="messages_new_message_to">Προς</string>
+3 -3
View File
@@ -419,9 +419,9 @@
<string name="geohash_title">Montri Loko kiel </string> <string name="geohash_title">Montri Loko kiel </string>
<string name="geohash_explainer">Aldonas Geohash de via loko al la afiŝo. La aŭdienco scios kiam vi estas je 5km (3mi) de la nuna loko</string> <string name="geohash_explainer">Aldonas Geohash de via loko al la afiŝo. La aŭdienco scios kiam vi estas je 5km (3mi) de la nuna loko</string>
<string name="add_sensitive_content_explainer">Aldonas averton de delikata enhavo antaŭ ol montri vian enhavon. Ĉi tiu estas perfekta por NSFW enhavo aŭ enhavo kiun iu povas trovi ofensiva aŭ ĝena</string> <string name="add_sensitive_content_explainer">Aldonas averton de delikata enhavo antaŭ ol montri vian enhavon. Ĉi tiu estas perfekta por NSFW enhavo aŭ enhavo kiun iu povas trovi ofensiva aŭ ĝena</string>
<string name="new_feature_nip24_might_not_be_available_title">Nova Trajto</string> <string name="new_feature_nip17_might_not_be_available_title">Nova Trajto</string>
<string name="new_feature_nip24_might_not_be_available_description">Por aktivigi ĉi tiun reĝimon Amethyst devus sendi NIP-24 mesaĝon (GiftWrapped, Sealed Direct kaj Grupa Mesaĝojn). NIP-24 estas nova kaj la plejparto de klientoj ankoraŭ ne instalis ĝin. Konfirmu ke la ricevanto uzas kongruan klienton.</string> <string name="new_feature_nip17_might_not_be_available_description">Por aktivigi ĉi tiun reĝimon Amethyst devus sendi NIP-17 mesaĝon (GiftWrapped, Sealed Direct kaj Grupa Mesaĝojn). NIP-17 estas nova kaj la plejparto de klientoj ankoraŭ ne instalis ĝin. Konfirmu ke la ricevanto uzas kongruan klienton.</string>
<string name="new_feature_nip24_activate">Aktivigi</string> <string name="new_feature_nip17_activate">Aktivigi</string>
<string name="messages_create_public_chat">Publika</string> <string name="messages_create_public_chat">Publika</string>
<string name="messages_new_message">Privata</string> <string name="messages_new_message">Privata</string>
<string name="messages_new_message_to">Al</string> <string name="messages_new_message_to">Al</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">Revelar ubicación como </string> <string name="geohash_title">Revelar ubicación como </string>
<string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string> <string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string>
<string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string> <string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string>
<string name="new_feature_nip24_might_not_be_available_title">Función nueva</string> <string name="new_feature_nip17_might_not_be_available_title">Función nueva</string>
<string name="new_feature_nip24_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-24 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-24 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string> <string name="new_feature_nip17_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-17 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-17 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string>
<string name="new_feature_nip24_activate">Activar</string> <string name="new_feature_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string> <string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string> <string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string>
<string name="messages_new_message">Privado</string> <string name="messages_new_message">Privado</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">Revelar ubicación como </string> <string name="geohash_title">Revelar ubicación como </string>
<string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string> <string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string>
<string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string> <string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string>
<string name="new_feature_nip24_might_not_be_available_title">Función nueva</string> <string name="new_feature_nip17_might_not_be_available_title">Función nueva</string>
<string name="new_feature_nip24_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-24 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-24 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string> <string name="new_feature_nip17_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-17 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-17 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string>
<string name="new_feature_nip24_activate">Activar</string> <string name="new_feature_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string> <string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string> <string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string>
<string name="messages_new_message">Privado</string> <string name="messages_new_message">Privado</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">Revelar ubicación como </string> <string name="geohash_title">Revelar ubicación como </string>
<string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string> <string name="geohash_explainer">Agrega un Geohash de tu ubicación al mensaje. El público sabrá que te encuentras a menos de 5 km (3 mi) de la ubicación actual.</string>
<string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string> <string name="add_sensitive_content_explainer">Agrega una advertencia de contenido delicado antes de mostrarlo. Esto es ideal para cualquier contenido NSFW o que a algunas personas les pueda resultar ofensivo o perturbador.</string>
<string name="new_feature_nip24_might_not_be_available_title">Función nueva</string> <string name="new_feature_nip17_might_not_be_available_title">Función nueva</string>
<string name="new_feature_nip24_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-24 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-24 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string> <string name="new_feature_nip17_might_not_be_available_description">La activación de este modo requiere que Amethyst envíe un mensaje NIP-17 (mensajes directos sellados, de grupo y “GiftWrapped\"). NIP-17 es nuevo y la mayoría de los clientes aún no lo han implementado. Comprueba que el destinatario use un cliente compatible.</string>
<string name="new_feature_nip24_activate">Activar</string> <string name="new_feature_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string> <string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string> <string name="messages_create_public_private_chat_desription">Nuevo grupo público o privado</string>
<string name="messages_new_message">Privado</string> <string name="messages_new_message">Privado</string>
+4 -4
View File
@@ -326,7 +326,7 @@
\n\n1. نصب کنید [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n\n1. نصب کنید [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. شروع Orbot \n2. شروع Orbot
\n3. در Orbot, پورت Socksرا علامت بزنید.مقدار پیش فرض 9050 است. \n3. در Orbot, پورت Socksرا علامت بزنید.مقدار پیش فرض 9050 است.
\n4. اگر لازم است پورت Orbot را تغییر دهید \n4. اگر لازم است پورت Orbot را تغییر دهید
\n5. پورت Socks را در این صفحه پیکربندی کنید \n5. پورت Socks را در این صفحه پیکربندی کنید
\n6. دکمه Activate را بفشارید تا از Orbot به عنوان پراکسی استفده نمایید \n6. دکمه Activate را بفشارید تا از Orbot به عنوان پراکسی استفده نمایید
</string> </string>
@@ -443,9 +443,9 @@
<string name="geohash_title">افشای مکان به عنوان </string> <string name="geohash_title">افشای مکان به عنوان </string>
<string name="geohash_explainer">یک از مکان شما به این بادداشت می افزاید. دیگران خواهند دانست که شما در فاصله 5 کیلومتری (3 مایلی) این مکان هستید.</string> <string name="geohash_explainer">یک از مکان شما به این بادداشت می افزاید. دیگران خواهند دانست که شما در فاصله 5 کیلومتری (3 مایلی) این مکان هستید.</string>
<string name="add_sensitive_content_explainer">پیش از نمایش محتوای شما، هشدار محتوای حساس به آن می افزاید. این برای هرگونه محتوای نامناسب برای محیط کار یا هر محتوای دیگری که برخی ممکن است توهین آمیز یا مشوش کننده بدانند خوب است.</string> <string name="add_sensitive_content_explainer">پیش از نمایش محتوای شما، هشدار محتوای حساس به آن می افزاید. این برای هرگونه محتوای نامناسب برای محیط کار یا هر محتوای دیگری که برخی ممکن است توهین آمیز یا مشوش کننده بدانند خوب است.</string>
<string name="new_feature_nip24_might_not_be_available_title">ویژگی جدید</string> <string name="new_feature_nip17_might_not_be_available_title">ویژگی جدید</string>
<string name="new_feature_nip24_might_not_be_available_description">برای فعال سازی این حالت لازم است اماتیست یک پیغام NIP-24 بفرستد (پیغام های GiftWrapped, Sealed Direct and Group). مطمئن شوید که گیرنده از کلاینتی سازگاز استفاده می کند.</string> <string name="new_feature_nip17_might_not_be_available_description">برای فعال سازی این حالت لازم است اماتیست یک پیغام NIP-17 بفرستد (پیغام های GiftWrapped, Sealed Direct and Group). مطمئن شوید که گیرنده از کلاینتی سازگاز استفاده می کند.</string>
<string name="new_feature_nip24_activate">فعال‌سازی</string> <string name="new_feature_nip17_activate">فعال‌سازی</string>
<string name="messages_create_public_chat">عمومی</string> <string name="messages_create_public_chat">عمومی</string>
<string name="messages_new_message">خصوصی</string> <string name="messages_new_message">خصوصی</string>
<string name="messages_new_message_to">به</string> <string name="messages_new_message_to">به</string>
+3 -3
View File
@@ -434,9 +434,9 @@
<string name="geohash_title">Näytä sijaintina </string> <string name="geohash_title">Näytä sijaintina </string>
<string name="geohash_explainer">Lisää sijaintisi Geohashinä viestiin. On julkisesti nähtävänä, että olet 5 km (3 mailin) säteellä nykyisestä sijainnista</string> <string name="geohash_explainer">Lisää sijaintisi Geohashinä viestiin. On julkisesti nähtävänä, että olet 5 km (3 mailin) säteellä nykyisestä sijainnista</string>
<string name="add_sensitive_content_explainer">Lisää herkkä sisältö -varoitus ennen sisällön näyttämistä. Tämä on suositeltua kaikelle aikuissisällölle tai sisällölle, jota jotkut saattavat pitää loukkaavana tai häiritsevänä</string> <string name="add_sensitive_content_explainer">Lisää herkkä sisältö -varoitus ennen sisällön näyttämistä. Tämä on suositeltua kaikelle aikuissisällölle tai sisällölle, jota jotkut saattavat pitää loukkaavana tai häiritsevänä</string>
<string name="new_feature_nip24_might_not_be_available_title">Uusi ominaisuus</string> <string name="new_feature_nip17_might_not_be_available_title">Uusi ominaisuus</string>
<string name="new_feature_nip24_might_not_be_available_description">Tämän tilan aktivoiminen vaatii Amethystin lähettämään NIP-24-viestin (Lahjapakatut, Suljetut suorat ja ryhmäviestit). NIP-24 on uusi, ja useimmat asiakkaat eivät ole vielä toteuttaneet sitä. Varmista, että vastaanottaja käyttää yhteensopivaa asiakasta.</string> <string name="new_feature_nip17_might_not_be_available_description">Tämän tilan aktivoiminen vaatii Amethystin lähettämään NIP-17-viestin (Lahjapakatut, Suljetut suorat ja ryhmäviestit). NIP-17 on uusi, ja useimmat asiakkaat eivät ole vielä toteuttaneet sitä. Varmista, että vastaanottaja käyttää yhteensopivaa asiakasta.</string>
<string name="new_feature_nip24_activate">Aktivoi</string> <string name="new_feature_nip17_activate">Aktivoi</string>
<string name="messages_create_public_chat">Julkinen</string> <string name="messages_create_public_chat">Julkinen</string>
<string name="messages_new_message">Yksityinen</string> <string name="messages_new_message">Yksityinen</string>
<string name="messages_new_message_to">Vastaanottaja</string> <string name="messages_new_message_to">Vastaanottaja</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">Révéler la localisation comme </string> <string name="geohash_title">Révéler la localisation comme </string>
<string name="geohash_explainer">Ajoute un Geohash de votre emplacement au message. Le public saura que vous êtes à moins de 5km de l\'emplacement actuel</string> <string name="geohash_explainer">Ajoute un Geohash de votre emplacement au message. Le public saura que vous êtes à moins de 5km de l\'emplacement actuel</string>
<string name="add_sensitive_content_explainer">Ajoute un avertissement de contenu sensible avant de montrer votre contenu. C\'est idéal pour tout contenu NSFW ou contenu que certaines personnes peuvent trouver offensant ou dérangeant</string> <string name="add_sensitive_content_explainer">Ajoute un avertissement de contenu sensible avant de montrer votre contenu. C\'est idéal pour tout contenu NSFW ou contenu que certaines personnes peuvent trouver offensant ou dérangeant</string>
<string name="new_feature_nip24_might_not_be_available_title">Nouvelle Fonctionnalité</string> <string name="new_feature_nip17_might_not_be_available_title">Nouvelle Fonctionnalité</string>
<string name="new_feature_nip24_might_not_be_available_description">Pour activer ce mode, Amethyst doit envoyer un message NIP-24 (GiftWrapped, Sealed Direct et Group Messages). Le protocole NIP-24 est nouveau et la plupart des clients ne l\'ont pas encore mis en oeuvre. Assurez-vous que le destinataire utilise un client compatible.</string> <string name="new_feature_nip17_might_not_be_available_description">Pour activer ce mode, Amethyst doit envoyer un message NIP-17 (GiftWrapped, Sealed Direct et Group Messages). Le protocole NIP-17 est nouveau et la plupart des clients ne l\'ont pas encore mis en oeuvre. Assurez-vous que le destinataire utilise un client compatible.</string>
<string name="new_feature_nip24_activate">Activer</string> <string name="new_feature_nip17_activate">Activer</string>
<string name="messages_create_public_chat">Public</string> <string name="messages_create_public_chat">Public</string>
<string name="messages_create_public_private_chat_desription">Nouveau Groupe Public ou Privé</string> <string name="messages_create_public_private_chat_desription">Nouveau Groupe Public ou Privé</string>
<string name="messages_new_message">Privé</string> <string name="messages_new_message">Privé</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">स्थान अनावृत करें ऐसे </string> <string name="geohash_title">स्थान अनावृत करें ऐसे </string>
<string name="geohash_explainer">आपका भूगोलिक स्थान विभेदक जोडता है पत्र में। जनता जान जाएगी कि आप वर्तमान स्थान से ५ कि॰मे॰ (३ मी॰) की दूरी के अन्दर हैं</string> <string name="geohash_explainer">आपका भूगोलिक स्थान विभेदक जोडता है पत्र में। जनता जान जाएगी कि आप वर्तमान स्थान से ५ कि॰मे॰ (३ मी॰) की दूरी के अन्दर हैं</string>
<string name="add_sensitive_content_explainer">आपके विषयवस्तु दिखाने से पूर्व संवेदनशील विषयवस्तु चेतावनी जोडता है। यह आदर्श है किसी कार्यालय अनुचित विषयवस्तु के लिए अथवा जो कुछ लोगों के लिए आपत्तिजनक अथवा व्याकुल करनेवाला लग सकता है</string> <string name="add_sensitive_content_explainer">आपके विषयवस्तु दिखाने से पूर्व संवेदनशील विषयवस्तु चेतावनी जोडता है। यह आदर्श है किसी कार्यालय अनुचित विषयवस्तु के लिए अथवा जो कुछ लोगों के लिए आपत्तिजनक अथवा व्याकुल करनेवाला लग सकता है</string>
<string name="new_feature_nip24_might_not_be_available_title">नयी सुविधा</string> <string name="new_feature_nip17_might_not_be_available_title">नयी सुविधा</string>
<string name="new_feature_nip24_might_not_be_available_description">इस कार्यशैली सक्षम करने के लिए अमेथिस्ट के द्वारा NIP-24 संदेश (उपहारकोषयुक्त, आच्छादित सीधा तथा झुण्ड संदेश) भेजना पडेगा। यह NIP-24 नया है तथा अनेक ग्राहक इसे कार्यान्वित किया नहीं अब तक। सुनिश्चित करें कि प्राप्तकर्ता एक अनुकूल ग्राहक का प्रयोग कर रहे हैं।</string> <string name="new_feature_nip17_might_not_be_available_description">इस कार्यशैली सक्षम करने के लिए अमेथिस्ट के द्वारा NIP-17 संदेश (उपहारकोषयुक्त, आच्छादित सीधा तथा झुण्ड संदेश) भेजना पडेगा। यह NIP-17 नया है तथा अनेक ग्राहक इसे कार्यान्वित किया नहीं अब तक। सुनिश्चित करें कि प्राप्तकर्ता एक अनुकूल ग्राहक का प्रयोग कर रहे हैं।</string>
<string name="new_feature_nip24_activate">सक्रिय करें</string> <string name="new_feature_nip17_activate">सक्रिय करें</string>
<string name="messages_create_public_chat">सार्वजनिक</string> <string name="messages_create_public_chat">सार्वजनिक</string>
<string name="messages_create_public_private_chat_desription">नया निजी अथवा सार्वजनिक झुण्ड</string> <string name="messages_create_public_private_chat_desription">नया निजी अथवा सार्वजनिक झुण्ड</string>
<string name="messages_new_message">निजी</string> <string name="messages_new_message">निजी</string>
+3 -3
View File
@@ -472,9 +472,9 @@
<string name="geohash_title">A Hely megjelenítése mint </string> <string name="geohash_title">A Hely megjelenítése mint </string>
<string name="geohash_explainer">A bejegyzéshez az Ön tartózkodási helyének Geohash-ét hozzáadja. A közönség tudni fogja, hogy az aktuális helytől 5 km-en (3 mérföldön) belül van</string> <string name="geohash_explainer">A bejegyzéshez az Ön tartózkodási helyének Geohash-ét hozzáadja. A közönség tudni fogja, hogy az aktuális helytől 5 km-en (3 mérföldön) belül van</string>
<string name="add_sensitive_content_explainer">A kényes tartalom miatt, azon megjelenítése előtt figyelmeztetést ad. Ez ideális minden Felnőtt tartalomhoz vagy olyan tartalomhoz, amelyet egyesek sértőnek vagy zavarónak találhatnak</string> <string name="add_sensitive_content_explainer">A kényes tartalom miatt, azon megjelenítése előtt figyelmeztetést ad. Ez ideális minden Felnőtt tartalomhoz vagy olyan tartalomhoz, amelyet egyesek sértőnek vagy zavarónak találhatnak</string>
<string name="new_feature_nip24_might_not_be_available_title">Új funkció</string> <string name="new_feature_nip17_might_not_be_available_title">Új funkció</string>
<string name="new_feature_nip24_might_not_be_available_description">Az Amethystnek ennek a módnak az aktiválásához NIP-24 üzenetet kell küldenie (GiftWrapped, Zárolt direkt és csoportos üzeneteket). A NIP-24 új, és a legtöbb kliens még nem implementálta. Győződj meg arról, hogy a fogadó fél kompatibilis klienst használ.</string> <string name="new_feature_nip17_might_not_be_available_description">Az Amethystnek ennek a módnak az aktiválásához NIP-17 üzenetet kell küldenie (GiftWrapped, Zárolt direkt és csoportos üzeneteket). A NIP-17 új, és a legtöbb kliens még nem implementálta. Győződj meg arról, hogy a fogadó fél kompatibilis klienst használ.</string>
<string name="new_feature_nip24_activate">Aktiválás</string> <string name="new_feature_nip17_activate">Aktiválás</string>
<string name="messages_create_public_chat">Publikus</string> <string name="messages_create_public_chat">Publikus</string>
<string name="messages_create_public_private_chat_desription">Új nyilvános vagy privát csoport</string> <string name="messages_create_public_private_chat_desription">Új nyilvános vagy privát csoport</string>
<string name="messages_new_message">Privát</string> <string name="messages_new_message">Privát</string>
+4 -4
View File
@@ -431,9 +431,9 @@ Beri tahu kepada pemilik untuk menambahnya</string>
<string name="geohash_title">Paparkan Lokasi sebagai </string> <string name="geohash_title">Paparkan Lokasi sebagai </string>
<string name="geohash_explainer">Menambahkan Geohash lokasi Anda ke postingan. Publik akan mengetahui bahwa Anda berada dalam jarak 5 km (3 mil) dari lokasi saat ini</string> <string name="geohash_explainer">Menambahkan Geohash lokasi Anda ke postingan. Publik akan mengetahui bahwa Anda berada dalam jarak 5 km (3 mil) dari lokasi saat ini</string>
<string name="add_sensitive_content_explainer">Menambahkan peringatan konten sensitif sebelum menampilkan konten Anda. Ini berguna untuk konten NSFW apa pun atau konten yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string> <string name="add_sensitive_content_explainer">Menambahkan peringatan konten sensitif sebelum menampilkan konten Anda. Ini berguna untuk konten NSFW apa pun atau konten yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string>
<string name="new_feature_nip24_might_not_be_available_title">Fitur Baru</string> <string name="new_feature_nip17_might_not_be_available_title">Fitur Baru</string>
<string name="new_feature_nip24_might_not_be_available_description">Mengaktifkan mode ini mengharuskan Amethyst mengirim pesan NIP-24 (GiftWrapped, Sealed Direct, dan Group Messages). NIP-24 masih baru dan sebagian besar klien belum menerapkannya. Pastikan penerima menggunakan klien yang didukung.</string> <string name="new_feature_nip17_might_not_be_available_description">Mengaktifkan mode ini mengharuskan Amethyst mengirim pesan NIP-17 (GiftWrapped, Sealed Direct, dan Group Messages). NIP-17 masih baru dan sebagian besar klien belum menerapkannya. Pastikan penerima menggunakan klien yang didukung.</string>
<string name="new_feature_nip24_activate">Aktifkan</string> <string name="new_feature_nip17_activate">Aktifkan</string>
<string name="messages_create_public_chat">Publik</string> <string name="messages_create_public_chat">Publik</string>
<string name="messages_new_message">Privat</string> <string name="messages_new_message">Privat</string>
<string name="messages_new_message_to">Ke</string> <string name="messages_new_message_to">Ke</string>
@@ -516,7 +516,7 @@ Periksa pengaturan Lightning pengguna</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL panggilan balik tidak ditemukan dalam konfigurasi server alamat Lightning Pengguna</string> <string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL panggilan balik tidak ditemukan dalam konfigurasi server alamat Lightning Pengguna</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Tidak dapat mengurai JSON dari faktur alamat Lightning. <string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Tidak dapat mengurai JSON dari faktur alamat Lightning.
Periksa pengaturan Lightning pengguna</string> Periksa pengaturan Lightning pengguna</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Jumlah faktur salah (%1$s sat) dari %2$s. <string name="incorrect_invoice_amount_sats_from_it_should_have_been">Jumlah faktur salah (%1$s sat) dari %2$s.
Seharusnya %3$s</string> Seharusnya %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Tidak dapat membuat faktur Lightning sebelum mengirim zap. Dompet Lightning penerima mengirimkan kesalahan berikut: %1$s</string> <string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Tidak dapat membuat faktur Lightning sebelum mengirim zap. Dompet Lightning penerima mengirimkan kesalahan berikut: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Tidak dapat membuat faktur Lightning sebelum mengirim zap. Elemen pr tidak ditemukan di JSON yang dihasilkan.</string> <string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Tidak dapat membuat faktur Lightning sebelum mengirim zap. Elemen pr tidak ditemukan di JSON yang dihasilkan.</string>
+3 -3
View File
@@ -412,9 +412,9 @@
<string name="geohash_title">Paparkan Lokasi sebagai</string> <string name="geohash_title">Paparkan Lokasi sebagai</string>
<string name="geohash_explainer">Menambahkan Geohash lokasi Anda ke postingan. Publik akan mengetahui bahwa Anda berada dalam jarak 5 km (3 mil) dari lokasi saat ini</string> <string name="geohash_explainer">Menambahkan Geohash lokasi Anda ke postingan. Publik akan mengetahui bahwa Anda berada dalam jarak 5 km (3 mil) dari lokasi saat ini</string>
<string name="add_sensitive_content_explainer">Menambahkan peringatan konten sensitif sebelum menampilkan konten Anda. Ini ideal untuk konten NSFW apa pun atau konten yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string> <string name="add_sensitive_content_explainer">Menambahkan peringatan konten sensitif sebelum menampilkan konten Anda. Ini ideal untuk konten NSFW apa pun atau konten yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string>
<string name="new_feature_nip24_might_not_be_available_title">Fitur Baru</string> <string name="new_feature_nip17_might_not_be_available_title">Fitur Baru</string>
<string name="new_feature_nip24_might_not_be_available_description">Mengaktifkan mode ini mengharuskan Amethyst mengirim pesan NIP-24 (GiftWrapped, Sealed Direct, dan Group Messages). NIP-24 masih baru dan sebagian besar klien belum menerapkannya. Pastikan penerima menggunakan klien yang kompatibel.</string> <string name="new_feature_nip17_might_not_be_available_description">Mengaktifkan mode ini mengharuskan Amethyst mengirim pesan NIP-17 (GiftWrapped, Sealed Direct, dan Group Messages). NIP-17 masih baru dan sebagian besar klien belum menerapkannya. Pastikan penerima menggunakan klien yang kompatibel.</string>
<string name="new_feature_nip24_activate">Aktifkan</string> <string name="new_feature_nip17_activate">Aktifkan</string>
<string name="messages_create_public_chat">Publik</string> <string name="messages_create_public_chat">Publik</string>
<string name="messages_new_message">Pribadi</string> <string name="messages_new_message">Pribadi</string>
<string name="messages_new_message_to">Ke</string> <string name="messages_new_message_to">Ke</string>
+3 -3
View File
@@ -419,9 +419,9 @@
<string name="geohash_title">Esporre la posizione come </string> <string name="geohash_title">Esporre la posizione come </string>
<string name="geohash_explainer">Aggiunge un Geohash della tua posizione al post. Il pubblico saprà che ti trovi a 5 km dalla posizione attuale</string> <string name="geohash_explainer">Aggiunge un Geohash della tua posizione al post. Il pubblico saprà che ti trovi a 5 km dalla posizione attuale</string>
<string name="add_sensitive_content_explainer">Aggiunge un avviso di contenuto sensibile prima di mostrare il tuo contenuto. Questo è ideale per qualsiasi contenuto NSFW o che alcune persone potrebbero trovare offensivo o disturbante</string> <string name="add_sensitive_content_explainer">Aggiunge un avviso di contenuto sensibile prima di mostrare il tuo contenuto. Questo è ideale per qualsiasi contenuto NSFW o che alcune persone potrebbero trovare offensivo o disturbante</string>
<string name="new_feature_nip24_might_not_be_available_title">Nuova Funzionalità</string> <string name="new_feature_nip17_might_not_be_available_title">Nuova Funzionalità</string>
<string name="new_feature_nip24_might_not_be_available_description">Attivare questa modalità richiede ad Amethyst di inviare un messaggio NIP-24 (GiftWrapped, Sealed Direct e messaggi di gruppo). NIP-24 è nuovo e la maggior parte dei client non l\'hanno ancora implementato. Assicurarsi che il ricevitore stia utilizzando un client compatibile.</string> <string name="new_feature_nip17_might_not_be_available_description">Attivare questa modalità richiede ad Amethyst di inviare un messaggio NIP-17 (GiftWrapped, Sealed Direct e messaggi di gruppo). NIP-17 è nuovo e la maggior parte dei client non l\'hanno ancora implementato. Assicurarsi che il ricevitore stia utilizzando un client compatibile.</string>
<string name="new_feature_nip24_activate">Attivare</string> <string name="new_feature_nip17_activate">Attivare</string>
<string name="messages_create_public_chat">Pubblico/a</string> <string name="messages_create_public_chat">Pubblico/a</string>
<string name="messages_new_message">Privato</string> <string name="messages_new_message">Privato</string>
<string name="messages_new_message_to">A</string> <string name="messages_new_message_to">A</string>
+3 -3
View File
@@ -473,9 +473,9 @@
<string name="geohash_title">Locatie weergeven als</string> <string name="geohash_title">Locatie weergeven als</string>
<string name="geohash_explainer">Voegt een Geohash van je locatie toe aan het bericht. Het publiek weet dat je binnen 5 km (3mi) van de huidige locatie bent.</string> <string name="geohash_explainer">Voegt een Geohash van je locatie toe aan het bericht. Het publiek weet dat je binnen 5 km (3mi) van de huidige locatie bent.</string>
<string name="add_sensitive_content_explainer">Voegt een waarschuwing voor gevoelige inhoud toe voordat je inhoud wordt weergegeven. Dit is ideaal voor NSFW-inhoud of inhoud die sommige mensen beledigend of verontrustend vinden.</string> <string name="add_sensitive_content_explainer">Voegt een waarschuwing voor gevoelige inhoud toe voordat je inhoud wordt weergegeven. Dit is ideaal voor NSFW-inhoud of inhoud die sommige mensen beledigend of verontrustend vinden.</string>
<string name="new_feature_nip24_might_not_be_available_title">Nieuwe functie</string> <string name="new_feature_nip17_might_not_be_available_title">Nieuwe functie</string>
<string name="new_feature_nip24_might_not_be_available_description">Voor het activeren van deze modus is Amethyst nodig om een NIP-24 bericht te versturen. NIP-24 is nieuw en de meeste clients hebben deze nog niet geïmplementeerd. Zorg ervoor dat de ontvanger een compatibele client gebruikt.</string> <string name="new_feature_nip17_might_not_be_available_description">Voor het activeren van deze modus is Amethyst nodig om een NIP-17 bericht te versturen. NIP-17 is nieuw en de meeste clients hebben deze nog niet geïmplementeerd. Zorg ervoor dat de ontvanger een compatibele client gebruikt.</string>
<string name="new_feature_nip24_activate">Activeren</string> <string name="new_feature_nip17_activate">Activeren</string>
<string name="messages_create_public_chat">Publiek</string> <string name="messages_create_public_chat">Publiek</string>
<string name="messages_create_public_private_chat_desription">Nieuwe openbare of besloten groep</string> <string name="messages_create_public_private_chat_desription">Nieuwe openbare of besloten groep</string>
<string name="messages_new_message">Privé</string> <string name="messages_new_message">Privé</string>
+3 -3
View File
@@ -471,9 +471,9 @@
<string name="geohash_title">Expor localização como </string> <string name="geohash_title">Expor localização como </string>
<string name="geohash_explainer">Adicione um geohash da sua localização à postagem. O público saberá que você está a 5 km (3 milhas) do local atual</string> <string name="geohash_explainer">Adicione um geohash da sua localização à postagem. O público saberá que você está a 5 km (3 milhas) do local atual</string>
<string name="add_sensitive_content_explainer">Adiciona aviso de conteúdo sensível antes de mostrar seu conteúdo. Isso é ideal para qualquer conteúdo NSFW ou conteúdo que algumas pessoas possam considerar ofensivo ou perturbador</string> <string name="add_sensitive_content_explainer">Adiciona aviso de conteúdo sensível antes de mostrar seu conteúdo. Isso é ideal para qualquer conteúdo NSFW ou conteúdo que algumas pessoas possam considerar ofensivo ou perturbador</string>
<string name="new_feature_nip24_might_not_be_available_title">Novo recurso</string> <string name="new_feature_nip17_might_not_be_available_title">Novo recurso</string>
<string name="new_feature_nip24_might_not_be_available_description">Ativando este modo requer o Amethyst para enviar uma mensagem de NIP-24 (GiftWrapped, Sealed Direct and Group Messages). NIP-24 é novo e a maioria dos clientes ainda não o implementaram. Certifique-se de que o destinatário está usando um cliente compatível.</string> <string name="new_feature_nip17_might_not_be_available_description">Ativando este modo requer o Amethyst para enviar uma mensagem de NIP-17 (GiftWrapped, Sealed Direct and Group Messages). NIP-17 é novo e a maioria dos clientes ainda não o implementaram. Certifique-se de que o destinatário está usando um cliente compatível.</string>
<string name="new_feature_nip24_activate">Ativar</string> <string name="new_feature_nip17_activate">Ativar</string>
<string name="messages_create_public_chat">Público</string> <string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_desription">Novo Grupo Público ou Privado</string> <string name="messages_create_public_private_chat_desription">Novo Grupo Público ou Privado</string>
<string name="messages_new_message">Privado</string> <string name="messages_new_message">Privado</string>
+3 -3
View File
@@ -470,9 +470,9 @@
<string name="geohash_title">Exponera plats som </string> <string name="geohash_title">Exponera plats som </string>
<string name="geohash_explainer">Lägger till en Geohash av din plats i inlägget. Allmänheten kommer att veta att du befinner dig inom 5 km från nuvarande plats</string> <string name="geohash_explainer">Lägger till en Geohash av din plats i inlägget. Allmänheten kommer att veta att du befinner dig inom 5 km från nuvarande plats</string>
<string name="add_sensitive_content_explainer">Lägger till en varning för känsligt innehåll innan ditt innehåll visas. Detta är idealiskt för NSFW-innehåll (inte säkert för arbete) eller innehåll som vissa personer kan uppleva som stötande eller störande</string> <string name="add_sensitive_content_explainer">Lägger till en varning för känsligt innehåll innan ditt innehåll visas. Detta är idealiskt för NSFW-innehåll (inte säkert för arbete) eller innehåll som vissa personer kan uppleva som stötande eller störande</string>
<string name="new_feature_nip24_might_not_be_available_title">Ny Funktion</string> <string name="new_feature_nip17_might_not_be_available_title">Ny Funktion</string>
<string name="new_feature_nip24_might_not_be_available_description">För att aktivera denna funktion kräver det att Amethyst skickar ett NIP-24 meddelande (GiftWrapped, Förseglade Direkta och Gruppmeddelanden). NIP-24 är nytt och de flesta klienter har ännu inte implementerat det. Se till att mottagaren använder en kompatibel klient.</string> <string name="new_feature_nip17_might_not_be_available_description">För att aktivera denna funktion kräver det att Amethyst skickar ett NIP-17 meddelande (GiftWrapped, Förseglade Direkta och Gruppmeddelanden). NIP-17 är nytt och de flesta klienter har ännu inte implementerat det. Se till att mottagaren använder en kompatibel klient.</string>
<string name="new_feature_nip24_activate">Aktivera</string> <string name="new_feature_nip17_activate">Aktivera</string>
<string name="messages_create_public_chat">Publik</string> <string name="messages_create_public_chat">Publik</string>
<string name="messages_create_public_private_chat_desription">Ny offentlig eller privat grupp</string> <string name="messages_create_public_private_chat_desription">Ny offentlig eller privat grupp</string>
<string name="messages_new_message">Privat</string> <string name="messages_new_message">Privat</string>
+3 -3
View File
@@ -418,9 +418,9 @@
<string name="geohash_title">Tumia Mahali kama </string> <string name="geohash_title">Tumia Mahali kama </string>
<string name="geohash_explainer">Inaongeza Geohash ya eneo lako kwenye chapisho. Umma utajua kuwa uko ndani ya kilometa 5 (maili 3) ya eneo la sasa</string> <string name="geohash_explainer">Inaongeza Geohash ya eneo lako kwenye chapisho. Umma utajua kuwa uko ndani ya kilometa 5 (maili 3) ya eneo la sasa</string>
<string name="add_sensitive_content_explainer">Inaongeza onyo la yaliyomo nyeti kabla ya kuonyesha yaliyomo yako. Hii ni nzuri kwa yaliyomo yoyote ya NSFW au yaliyomo ambayo baadhi ya watu wanaweza kuona kama ya kuchukiza au kusumbua</string> <string name="add_sensitive_content_explainer">Inaongeza onyo la yaliyomo nyeti kabla ya kuonyesha yaliyomo yako. Hii ni nzuri kwa yaliyomo yoyote ya NSFW au yaliyomo ambayo baadhi ya watu wanaweza kuona kama ya kuchukiza au kusumbua</string>
<string name="new_feature_nip24_might_not_be_available_title">Kipengee Kipya</string> <string name="new_feature_nip17_might_not_be_available_title">Kipengee Kipya</string>
<string name="new_feature_nip24_might_not_be_available_description">Kuwezesha hali hii kunahitaji Amethyst kutuma ujumbe wa NIP-24 (Ufungaji wa Zawadi, Ujumbe wa Moja kwa Moja Uliosajiliwa, na Ujumbe wa Kikundi). NIP-24 ni mpya na wateja wengi bado hawajaijumuisha. Hakikisha mpokeaji anatumia mteja unaokubaliana.</string> <string name="new_feature_nip17_might_not_be_available_description">Kuwezesha hali hii kunahitaji Amethyst kutuma ujumbe wa NIP-17 (Ufungaji wa Zawadi, Ujumbe wa Moja kwa Moja Uliosajiliwa, na Ujumbe wa Kikundi). NIP-17 ni mpya na wateja wengi bado hawajaijumuisha. Hakikisha mpokeaji anatumia mteja unaokubaliana.</string>
<string name="new_feature_nip24_activate">Tumia</string> <string name="new_feature_nip17_activate">Tumia</string>
<string name="messages_create_public_chat">Umma</string> <string name="messages_create_public_chat">Umma</string>
<string name="messages_new_message">Binafsi</string> <string name="messages_new_message">Binafsi</string>
<string name="messages_new_message_to">Kwa</string> <string name="messages_new_message_to">Kwa</string>
+3 -3
View File
@@ -472,9 +472,9 @@
<string name="geohash_title">เปิดเผยตําแหน่งที่ตั้ง </string> <string name="geohash_title">เปิดเผยตําแหน่งที่ตั้ง </string>
<string name="geohash_explainer">เพิ่ม Geohash ของตําแหน่งของคุณลงในโพสต์ สาธารณชนจะรู้ว่าคุณอยู่ภายใน 5 กม. (3 ไมล์) จากตําแหน่งปัจจุบัน</string> <string name="geohash_explainer">เพิ่ม Geohash ของตําแหน่งของคุณลงในโพสต์ สาธารณชนจะรู้ว่าคุณอยู่ภายใน 5 กม. (3 ไมล์) จากตําแหน่งปัจจุบัน</string>
<string name="add_sensitive_content_explainer">เพิ่มคําเตือนเนื้อหาที่ละเอียดอ่อนก่อนแสดงเนื้อหาของคุณ สิ่งนี้เหมาะสําหรับเนื้อหา NSFW หรือเนื้อหาใด ๆ ที่บางคนอาจพบว่าไม่เหมาะสมหรือรบกวน</string> <string name="add_sensitive_content_explainer">เพิ่มคําเตือนเนื้อหาที่ละเอียดอ่อนก่อนแสดงเนื้อหาของคุณ สิ่งนี้เหมาะสําหรับเนื้อหา NSFW หรือเนื้อหาใด ๆ ที่บางคนอาจพบว่าไม่เหมาะสมหรือรบกวน</string>
<string name="new_feature_nip24_might_not_be_available_title">ฟีเจอร์ใหม่</string> <string name="new_feature_nip17_might_not_be_available_title">ฟีเจอร์ใหม่</string>
<string name="new_feature_nip24_might_not_be_available_description">การเปิดใช้งานโหมดนี้ต้องใช้ Amethyst เพื่อส่งข้อความ NIP-24 (GiftWrapped, Sealed Direct และ Group Messages) NIP-24 เป็นของใหม่และไคลเอ็นต์ส่วนใหญ่ยังไม่ได้รองรับ ตรวจสอบให้แน่ใจว่าเครื่องรับใช้ไคลเอ็นต์ที่รองรับ</string> <string name="new_feature_nip17_might_not_be_available_description">การเปิดใช้งานโหมดนี้ต้องใช้ Amethyst เพื่อส่งข้อความ NIP-17 (GiftWrapped, Sealed Direct และ Group Messages) NIP-17 เป็นของใหม่และไคลเอ็นต์ส่วนใหญ่ยังไม่ได้รองรับ ตรวจสอบให้แน่ใจว่าเครื่องรับใช้ไคลเอ็นต์ที่รองรับ</string>
<string name="new_feature_nip24_activate">เปิดใช้งาน</string> <string name="new_feature_nip17_activate">เปิดใช้งาน</string>
<string name="messages_create_public_chat">สาธรณะ</string> <string name="messages_create_public_chat">สาธรณะ</string>
<string name="messages_create_public_private_chat_desription">สร้างกลุ่มสาธารณะ/ส่วนตัว</string> <string name="messages_create_public_private_chat_desription">สร้างกลุ่มสาธารณะ/ส่วนตัว</string>
<string name="messages_new_message">ส่วนตัว</string> <string name="messages_new_message">ส่วนตัว</string>
+2 -2
View File
@@ -418,8 +418,8 @@
<string name="zap_forward_title">Переслати Zaps до:</string> <string name="zap_forward_title">Переслати Zaps до:</string>
<string name="zap_forward_explainer">Підтримання клієнтів переведе його на LNAddress або профіль користувача нижче замість ваших</string> <string name="zap_forward_explainer">Підтримання клієнтів переведе його на LNAddress або профіль користувача нижче замість ваших</string>
<string name="geohash_title">Надати місцеперебування як </string> <string name="geohash_title">Надати місцеперебування як </string>
<string name="new_feature_nip24_might_not_be_available_title">Нова функція</string> <string name="new_feature_nip17_might_not_be_available_title">Нова функція</string>
<string name="new_feature_nip24_activate">Активувати</string> <string name="new_feature_nip17_activate">Активувати</string>
<string name="messages_new_message_subject_caption">Тема бесіди</string> <string name="messages_new_message_subject_caption">Тема бесіди</string>
<string name="messages_new_message_to_caption">"\@User1, @User2, @User3"</string> <string name="messages_new_message_to_caption">"\@User1, @User2, @User3"</string>
<string name="messages_group_descriptor">Учасники цієї групи</string> <string name="messages_group_descriptor">Учасники цієї групи</string>
+3 -3
View File
@@ -472,9 +472,9 @@
<string name="geohash_title">将位置显示为 </string> <string name="geohash_title">将位置显示为 </string>
<string name="geohash_explainer">将你所在位置的地理位置添加到帖子。公众会知道你在当前位置的5公里之内(3英里)</string> <string name="geohash_explainer">将你所在位置的地理位置添加到帖子。公众会知道你在当前位置的5公里之内(3英里)</string>
<string name="add_sensitive_content_explainer">在显示你的内容之前添加敏感的内容警告。针对任何 NSFW 内容或一些人可能觉得有冒犯性或令人不安的内容。</string> <string name="add_sensitive_content_explainer">在显示你的内容之前添加敏感的内容警告。针对任何 NSFW 内容或一些人可能觉得有冒犯性或令人不安的内容。</string>
<string name="new_feature_nip24_might_not_be_available_title">新功能</string> <string name="new_feature_nip17_might_not_be_available_title">新功能</string>
<string name="new_feature_nip24_might_not_be_available_description">启用此模式需要 Amethyst 发送一条 NIP-24 消息(包装的、密封的私信和群聊消息)。因为 NIP-24 是新的,大多数客户端尚未执行。请确保接收方正在使用兼容的客户端。</string> <string name="new_feature_nip17_might_not_be_available_description">启用此模式需要 Amethyst 发送一条 NIP-17 消息(包装的、密封的私信和群聊消息)。因为 NIP-17 是新的,大多数客户端尚未执行。请确保接收方正在使用兼容的客户端。</string>
<string name="new_feature_nip24_activate">启用</string> <string name="new_feature_nip17_activate">启用</string>
<string name="messages_create_public_chat">公开</string> <string name="messages_create_public_chat">公开</string>
<string name="messages_create_public_private_chat_desription">新建公开或私人群组</string> <string name="messages_create_public_private_chat_desription">新建公开或私人群组</string>
<string name="messages_new_message">私人</string> <string name="messages_new_message">私人</string>
+3 -3
View File
@@ -472,9 +472,9 @@
<string name="geohash_title">將位置顯示為 </string> <string name="geohash_title">將位置顯示為 </string>
<string name="geohash_explainer">將你所在位置的地理位置添加到帖子。公眾會知道你在當前位置的5公里之內(3英里)</string> <string name="geohash_explainer">將你所在位置的地理位置添加到帖子。公眾會知道你在當前位置的5公里之內(3英里)</string>
<string name="add_sensitive_content_explainer">在顯示你的內容之前添加敏感內容警告。針對任何 NSFW 內容或一些人可能覺得有冒犯性或令人不安的內容。</string> <string name="add_sensitive_content_explainer">在顯示你的內容之前添加敏感內容警告。針對任何 NSFW 內容或一些人可能覺得有冒犯性或令人不安的內容。</string>
<string name="new_feature_nip24_might_not_be_available_title">新功能</string> <string name="new_feature_nip17_might_not_be_available_title">新功能</string>
<string name="new_feature_nip24_might_not_be_available_description">啟用此模式需要 Amethyst 發送一條 NIP-24 消息(包裝的、密封的私信和群聊消息)。因為 NIP-24 是新的,大多數客戶端尚未執行。請確保接收方正在使用兼容的客戶端。</string> <string name="new_feature_nip17_might_not_be_available_description">啟用此模式需要 Amethyst 發送一條 NIP-17 消息(包裝的、密封的私信和群聊消息)。因為 NIP-17 是新的,大多數客戶端尚未執行。請確保接收方正在使用兼容的客戶端。</string>
<string name="new_feature_nip24_activate">啟用</string> <string name="new_feature_nip17_activate">啟用</string>
<string name="messages_create_public_chat">公開</string> <string name="messages_create_public_chat">公開</string>
<string name="messages_create_public_private_chat_desription">新建公開或私人群組</string> <string name="messages_create_public_private_chat_desription">新建公開或私人群組</string>
<string name="messages_new_message">私人</string> <string name="messages_new_message">私人</string>
+3 -3
View File
@@ -548,9 +548,9 @@
<string name="add_sensitive_content_explainer">Adds sensitive content warning before showing your content. This is ideal for any NSFW content or content some people may find offensive or disturbing</string> <string name="add_sensitive_content_explainer">Adds sensitive content warning before showing your content. This is ideal for any NSFW content or content some people may find offensive or disturbing</string>
<string name="new_feature_nip24_might_not_be_available_title">New Feature</string> <string name="new_feature_nip17_might_not_be_available_title">New Feature</string>
<string name="new_feature_nip24_might_not_be_available_description">Activating this mode requires Amethyst to send a NIP-24 message (GiftWrapped, Sealed Direct and Group Messages). NIP-24 is new and most clients have not implemented it yet. Make sure the receiver is using a compatible client.</string> <string name="new_feature_nip17_might_not_be_available_description">Activating this mode requires Amethyst to send a NIP-17 message (GiftWrapped, Sealed Direct and Group Messages). NIP-17 is new and most clients have not implemented it yet. Make sure the receiver is using a compatible client.</string>
<string name="new_feature_nip24_activate">Activate</string> <string name="new_feature_nip17_activate">Activate</string>
<string name="messages_create_public_chat">Public</string> <string name="messages_create_public_chat">Public</string>
<string name="messages_create_public_private_chat_desription">New Public or Private Group</string> <string name="messages_create_public_private_chat_desription">New Public or Private Group</string>
@@ -27,7 +27,7 @@ import com.vitorpamplona.quartz.crypto.CryptoUtils
import com.vitorpamplona.quartz.crypto.KeyPair import com.vitorpamplona.quartz.crypto.KeyPair
import com.vitorpamplona.quartz.events.Event import com.vitorpamplona.quartz.events.Event
import com.vitorpamplona.quartz.events.GiftWrapEvent import com.vitorpamplona.quartz.events.GiftWrapEvent
import com.vitorpamplona.quartz.events.NIP24Factory import com.vitorpamplona.quartz.events.NIP17Factory
import com.vitorpamplona.quartz.events.SealedGossipEvent import com.vitorpamplona.quartz.events.SealedGossipEvent
import com.vitorpamplona.quartz.signers.NostrSignerInternal import com.vitorpamplona.quartz.signers.NostrSignerInternal
import junit.framework.TestCase import junit.framework.TestCase
@@ -56,10 +56,10 @@ class GiftWrapBenchmark {
val sender = NostrSignerInternal(KeyPair()) val sender = NostrSignerInternal(KeyPair())
val receiver = NostrSignerInternal(KeyPair()) val receiver = NostrSignerInternal(KeyPair())
var events: NIP24Factory.Result? = null var events: NIP17Factory.Result? = null
val countDownLatch = CountDownLatch(1) val countDownLatch = CountDownLatch(1)
NIP24Factory().createMsgNIP24( NIP17Factory().createMsgNIP17(
message, message,
listOf(receiver.pubKey), listOf(receiver.pubKey),
sender, sender,
@@ -109,7 +109,7 @@ class GiftWrapBenchmark {
var giftWrap: GiftWrapEvent? = null var giftWrap: GiftWrapEvent? = null
val countDownLatch = CountDownLatch(1) val countDownLatch = CountDownLatch(1)
NIP24Factory().createMsgNIP24( NIP17Factory().createMsgNIP17(
message, message,
listOf(receiver.pubKey), listOf(receiver.pubKey),
sender, sender,
File diff suppressed because one or more lines are too long
@@ -28,7 +28,7 @@ import com.vitorpamplona.quartz.encoders.hexToByteArray
import com.vitorpamplona.quartz.events.ChatMessageEvent import com.vitorpamplona.quartz.events.ChatMessageEvent
import com.vitorpamplona.quartz.events.Event import com.vitorpamplona.quartz.events.Event
import com.vitorpamplona.quartz.events.GiftWrapEvent import com.vitorpamplona.quartz.events.GiftWrapEvent
import com.vitorpamplona.quartz.events.NIP24Factory import com.vitorpamplona.quartz.events.NIP17Factory
import com.vitorpamplona.quartz.events.SealedGossipEvent import com.vitorpamplona.quartz.events.SealedGossipEvent
import com.vitorpamplona.quartz.signers.NostrSignerInternal import com.vitorpamplona.quartz.signers.NostrSignerInternal
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
@@ -44,7 +44,7 @@ import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class) @RunWith(AndroidJUnit4::class)
class GiftWrapEventTest { class GiftWrapEventTest {
@Test() @Test()
fun testNip24Utils() { fun testNip17Utils() {
val sender = NostrSignerInternal(KeyPair()) val sender = NostrSignerInternal(KeyPair())
val receiver = NostrSignerInternal(KeyPair()) val receiver = NostrSignerInternal(KeyPair())
val message = "Hola, que tal?" val message = "Hola, que tal?"
@@ -52,7 +52,7 @@ class GiftWrapEventTest {
// Requires 3 tests // Requires 3 tests
val countDownLatch = CountDownLatch(3) val countDownLatch = CountDownLatch(3)
NIP24Factory().createMsgNIP24( NIP17Factory().createMsgNIP17(
message, message,
listOf(receiver.pubKey), listOf(receiver.pubKey),
sender, sender,
@@ -94,7 +94,7 @@ class GiftWrapEventTest {
} }
@Test() @Test()
fun testNip24UtilsForGroups() { fun testNip17UtilsForGroups() {
val sender = NostrSignerInternal(KeyPair()) val sender = NostrSignerInternal(KeyPair())
val receiver1 = NostrSignerInternal(KeyPair()) val receiver1 = NostrSignerInternal(KeyPair())
val receiver2 = NostrSignerInternal(KeyPair()) val receiver2 = NostrSignerInternal(KeyPair())
@@ -112,7 +112,7 @@ class GiftWrapEventTest {
val countDownLatch = CountDownLatch(receivers.size + 2) val countDownLatch = CountDownLatch(receivers.size + 2)
NIP24Factory().createMsgNIP24( NIP17Factory().createMsgNIP17(
message, message,
receivers.map { it.pubKey }, receivers.map { it.pubKey },
sender, sender,
@@ -23,7 +23,7 @@ package com.vitorpamplona.quartz.events
import com.vitorpamplona.quartz.encoders.HexKey import com.vitorpamplona.quartz.encoders.HexKey
import com.vitorpamplona.quartz.signers.NostrSigner import com.vitorpamplona.quartz.signers.NostrSigner
class NIP24Factory { class NIP17Factory {
data class Result(val msg: Event, val wraps: List<GiftWrapEvent>) data class Result(val msg: Event, val wraps: List<GiftWrapEvent>)
private fun recursiveGiftWrapCreation( private fun recursiveGiftWrapCreation(
@@ -65,7 +65,7 @@ class NIP24Factory {
recursiveGiftWrapCreation(event, to.toList(), signer, wraps, onReady) recursiveGiftWrapCreation(event, to.toList(), signer, wraps, onReady)
} }
fun createMsgNIP24( fun createMsgNIP17(
msg: String, msg: String,
to: List<HexKey>, to: List<HexKey>,
signer: NostrSigner, signer: NostrSigner,