mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-03 21:36:17 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c48366d56 | ||
|
|
f1834af506 | ||
|
|
f26fa71e49 | ||
|
|
4faee68174 | ||
|
|
2326e66382 | ||
|
|
bf71365f51 | ||
|
|
f45e8d491c | ||
|
|
5a476cab32 | ||
|
|
b5b0a19df5 | ||
|
|
85d26dee08 | ||
|
|
476da07d3d |
+2
-2
@@ -12,8 +12,8 @@ android {
|
||||
applicationId "com.vitorpamplona.amethyst"
|
||||
minSdk 26
|
||||
targetSdk 34
|
||||
versionCode 369
|
||||
versionName "0.87.0"
|
||||
versionCode 371
|
||||
versionName "0.87.2"
|
||||
buildConfigField "String", "RELEASE_NOTES_ID", "\"863124b6592359494396c22b917f9d251ad12ac31b09ea29e0265e3c088ce9f8\""
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
@@ -116,7 +116,7 @@ class Relay(
|
||||
private var connectingBlock = AtomicBoolean()
|
||||
|
||||
fun connectAndRun(onConnected: (Relay) -> Unit) {
|
||||
Log.d("Relay", "Relay.connect $url hasProxy: ${this.httpClient.proxy != null}")
|
||||
Log.d("Relay", "Relay.connect $url connecting: ${connectingBlock.get()} hasProxy: ${this.httpClient.proxy != null}")
|
||||
// BRB is crashing OkHttp Deflater object :(
|
||||
if (url.contains("brb.io")) return
|
||||
|
||||
@@ -125,13 +125,16 @@ class Relay(
|
||||
return
|
||||
}
|
||||
|
||||
checkNotInMainThread()
|
||||
|
||||
if (socket != null) return
|
||||
|
||||
lastConnectTentative = TimeUtils.now()
|
||||
|
||||
try {
|
||||
checkNotInMainThread()
|
||||
|
||||
if (socket != null) {
|
||||
connectingBlock.set(false)
|
||||
return
|
||||
}
|
||||
|
||||
lastConnectTentative = TimeUtils.now()
|
||||
|
||||
val request =
|
||||
Request.Builder()
|
||||
.header("User-Agent", "Amethyst/${BuildConfig.VERSION_NAME}")
|
||||
|
||||
@@ -48,12 +48,11 @@ open class DiscoverNIP89FeedFilter(
|
||||
}
|
||||
|
||||
override fun feed(): List<Note> {
|
||||
val params = buildFilterParams(account)
|
||||
val filterParams = buildFilterParams(account)
|
||||
|
||||
val notes =
|
||||
LocalCache.addressables.filterIntoSet { _, it ->
|
||||
val noteEvent = it.event
|
||||
noteEvent is AppDefinitionEvent && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent)
|
||||
acceptDVM(it)
|
||||
}
|
||||
|
||||
return sort(notes)
|
||||
@@ -72,12 +71,26 @@ open class DiscoverNIP89FeedFilter(
|
||||
)
|
||||
}
|
||||
|
||||
protected open fun innerApplyFilter(collection: Collection<Note>): Set<Note> {
|
||||
val params = buildFilterParams(account)
|
||||
fun acceptDVM(note: Note): Boolean {
|
||||
val noteEvent = note.event
|
||||
return if (noteEvent is AppDefinitionEvent) {
|
||||
acceptDVM(noteEvent)
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
fun acceptDVM(noteEvent: AppDefinitionEvent): Boolean {
|
||||
val filterParams = buildFilterParams(account)
|
||||
return noteEvent.appMetaData()?.subscription != true &&
|
||||
filterParams.match(noteEvent) &&
|
||||
noteEvent.includeKind("5300") &&
|
||||
noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent)
|
||||
}
|
||||
|
||||
protected open fun innerApplyFilter(collection: Collection<Note>): Set<Note> {
|
||||
return collection.filterTo(HashSet()) {
|
||||
val noteEvent = it.event
|
||||
noteEvent is AppDefinitionEvent && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent)
|
||||
acceptDVM(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,16 +23,15 @@ package com.vitorpamplona.amethyst.ui.navigation
|
||||
import android.graphics.Rect
|
||||
import android.view.View
|
||||
import android.view.ViewTreeObserver
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.NavigationBar
|
||||
import androidx.compose.material3.NavigationBarItem
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.State
|
||||
@@ -46,16 +45,13 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.navigation.NavBackStackEntry
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.theme.BottomTopHeight
|
||||
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
||||
import com.vitorpamplona.amethyst.ui.theme.Font12SP
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size0dp
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size10dp
|
||||
import com.vitorpamplona.amethyst.ui.theme.bottomIconModifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size10Modifier
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
val bottomNavigationItems =
|
||||
@@ -190,7 +186,7 @@ private fun NotifiableIcon(
|
||||
fun AddNotifIconIfNeeded(
|
||||
route: Route,
|
||||
accountViewModel: AccountViewModel,
|
||||
modifier: Modifier,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val flow = accountViewModel.notificationDots.hasNewItems[route] ?: return
|
||||
val hasNewItems by flow.collectAsStateWithLifecycle()
|
||||
@@ -201,18 +197,8 @@ fun AddNotifIconIfNeeded(
|
||||
|
||||
@Composable
|
||||
private fun NotificationDotIcon(modifier: Modifier) {
|
||||
Box(modifier.size(Size10dp)) {
|
||||
Box(
|
||||
modifier = MaterialTheme.colorScheme.bottomIconModifier,
|
||||
contentAlignment = Alignment.TopEnd,
|
||||
) {
|
||||
Text(
|
||||
"",
|
||||
color = Color.White,
|
||||
textAlign = TextAlign.Center,
|
||||
fontSize = Font12SP,
|
||||
// modifier = Modifier.wrapContentHeight().align(Alignment.TopEnd),
|
||||
)
|
||||
}
|
||||
}
|
||||
val color = MaterialTheme.colorScheme.primary
|
||||
Canvas(modifier = Size10Modifier.then(modifier), onDraw = {
|
||||
drawCircle(color = color)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -359,30 +359,20 @@ private fun DiscoverFeedLoaded(
|
||||
itemsIndexed(state.feed.value, key = { _, item -> item.idHex }) { _, item ->
|
||||
val defaultModifier = remember { Modifier.fillMaxWidth().animateItemPlacement() }
|
||||
|
||||
// TODO For now we avoid subscription based DVMs, as we need logic for these first if a user is not subscribed already.
|
||||
var avoid = false
|
||||
if (item.event is AppDefinitionEvent) {
|
||||
if ((item.event as AppDefinitionEvent).appMetaData()?.subscription == true) {
|
||||
avoid = true
|
||||
}
|
||||
}
|
||||
// TODO End
|
||||
if (!avoid) {
|
||||
Row(defaultModifier) {
|
||||
ChannelCardCompose(
|
||||
baseNote = item,
|
||||
routeForLastRead = routeForLastRead,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
forceEventKind = forceEventKind,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
}
|
||||
|
||||
HorizontalDivider(
|
||||
thickness = DividerThickness,
|
||||
Row(defaultModifier) {
|
||||
ChannelCardCompose(
|
||||
baseNote = item,
|
||||
routeForLastRead = routeForLastRead,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
forceEventKind = forceEventKind,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
}
|
||||
|
||||
HorizontalDivider(
|
||||
thickness = DividerThickness,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -685,16 +685,21 @@
|
||||
<string name="search_relays_not_found_description">Vytvoření seznamu relé speciálně navržených pro vyhledávání a označování uživatelů zlepší tyto výsledky.</string>
|
||||
<string name="search_relays_not_found_editing">Vložte mezi 1–3 relé, která chcete použít při vyhledávání obsahu nebo označování uživatelů. Ujistěte se, že vaše vybraná relé implementují NIP-50</string>
|
||||
<string name="search_relays_not_found_examples">Dobré možnosti jsou:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Nastavení relé</string>
|
||||
<string name="public_home_section">Veřejná domácí relé</string>
|
||||
<string name="public_home_section_explainer">Tento typ relé ukládá veškerý váš obsah. Amethyst sem pošle vaše příspěvky a ostatní použijí tato relé, aby našli váš obsah. Vložte mezi 1–3 relé. Mohou to být osobní relé, placená relé nebo veřejná relé.</string>
|
||||
<string name="public_notif_section">Veřejná schránka relé</string>
|
||||
<string name="public_notif_section_explainer">Tento typ relé přijímá všechny odpovědi, komentáře, lajky a zaps k vašim příspěvkům. Vložte mezi 1–3 relé a ujistěte se, že přijímají příspěvky od kohokoli.</string>
|
||||
<string name="private_inbox_section">DM schránka relé</string>
|
||||
<string name="private_inbox_section_explainer">Vložte mezi 1–3 relé, která budou sloužit jako vaše soukromá schránka. Ostatní použijí tato relé k posílání DM zpráv vám. DM schránka relé by měla přijímat jakékoli zprávy od kohokoli, ale pouze vám umožnit jejich stahování. Dobré možnosti jsou:\n - inbox.nostr.wine (placené)\n - you.nostr1.com (osobní relé - placené)</string>
|
||||
<string name="private_outbox_section">Soukromá relé</string>
|
||||
<string name="private_outbox_section_explainer">Vložte mezi 1–3 relé pro ukládání událostí nikoho jiného, jako jsou koncepty a/nebo nastavení aplikace. V ideálním případě jsou tato relé buď lokální, nebo vyžadují autentizaci před stažením obsahu každého uživatele.</string>
|
||||
<string name="kind_3_section">Obecná relé</string>
|
||||
<string name="kind_3_section_description">Amethyst používá tato relé ke stahování příspěvků pro vás.</string>
|
||||
<string name="search_section">Vyhledávací relé</string>
|
||||
<string name="search_section_explainer">Seznam relé, která se používají k vyhledávání a označování uživatelů. Označování a vyhledávání nebude fungovat, pokud nejsou k dispozici žádné možnosti.</string>
|
||||
<string name="local_section">Lokální relé</string>
|
||||
<string name="local_section_explainer">Seznam relací, které jsou v tomto zařízení spuštěny.</string>
|
||||
<string name="zap_the_devs_title">Zapni vývojáře!</string>
|
||||
<string name="zap_the_devs_description">Váš příspěvek nám pomáhá dělat rozdíl. Každý sat se počítá!</string>
|
||||
<string name="donate_now">Přispět nyní</string>
|
||||
|
||||
@@ -690,16 +690,21 @@ anz der Bedingungen ist erforderlich</string>
|
||||
<string name="search_relays_not_found_description">Das Erstellen einer Relaisliste, die speziell für die Suche und Benutzerkennzeichnung entwickelt wurde, wird diese Ergebnisse verbessern.</string>
|
||||
<string name="search_relays_not_found_editing">Fügen Sie 1–3 Relais ein, die beim Suchen nach Inhalten oder beim Taggen von Benutzern verwendet werden sollen. Stellen Sie sicher, dass Ihre ausgewählten Relais NIP-50 implementieren</string>
|
||||
<string name="search_relays_not_found_examples">Gute Optionen sind:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Relaiseinstellungen</string>
|
||||
<string name="public_home_section">Öffentliche Heimrelais</string>
|
||||
<string name="public_home_section_explainer">Dieser Relais-Typ speichert alle Ihre Inhalte. Amethyst sendet Ihre Beiträge hierher und andere werden diese Relais verwenden, um Ihre Inhalte zu finden. Fügen Sie 1–3 Relais ein. Sie können persönliche Relais, bezahlte Relais oder öffentliche Relais sein.</string>
|
||||
<string name="public_notif_section">Öffentliche Posteingangsrelais</string>
|
||||
<string name="public_notif_section_explainer">Dieser Relais-Typ empfängt alle Antworten, Kommentare, Likes und Zaps auf Ihre Beiträge. Fügen Sie 1–3 Relais ein und stellen Sie sicher, dass sie Beiträge von jedem akzeptieren.</string>
|
||||
<string name="private_inbox_section">DM-Posteingangsrelais</string>
|
||||
<string name="private_inbox_section_explainer">Fügen Sie 1–3 Relais ein, die als Ihr privater Posteingang dienen sollen. Andere werden diese Relais verwenden, um Ihnen DMs zu senden. DM-Posteingangsrelais sollten Nachrichten von jedem akzeptieren, aber nur Ihnen erlauben, sie herunterzuladen. Gute Optionen sind:\n - inbox.nostr.wine (bezahlt)\n - you.nostr1.com (persönliche Relais - bezahlt)</string>
|
||||
<string name="private_outbox_section">Private Relais</string>
|
||||
<string name="private_outbox_section_explainer">Fügen Sie zwischen 1–3 Relais ein, um Ereignisse zu speichern, die niemand anders sehen kann, wie Ihre Entwürfe und/oder App-Einstellungen. Idealerweise sind diese Relais entweder lokal oder erfordern eine Authentifizierung, bevor Sie die Inhalte eines jeden Benutzers herunterladen.</string>
|
||||
<string name="kind_3_section">Allgemeine Relais</string>
|
||||
<string name="kind_3_section_description">Amethyst verwendet diese Relais, um Beiträge für Sie herunterzuladen.</string>
|
||||
<string name="search_section">Suchrelais</string>
|
||||
<string name="search_section_explainer">Liste der Relais, die für die Suche und das Taggen von Benutzern verwendet werden. Das Taggen und die Suche funktionieren nicht, wenn keine Optionen verfügbar sind.</string>
|
||||
<string name="local_section">Lokale Relais</string>
|
||||
<string name="local_section_explainer">Liste der Relays, die auf diesem Gerät laufen.</string>
|
||||
<string name="zap_the_devs_title">Zap die Entwickler!</string>
|
||||
<string name="zap_the_devs_description">Deine Spende hilft uns, einen Unterschied zu machen. Jeder Sat zählt!</string>
|
||||
<string name="donate_now">Jetzt spenden</string>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="group_picture">Imagen de grupo</string>
|
||||
<string name="explicit_content">Contenido explícito</string>
|
||||
<string name="spam">Spam</string>
|
||||
<string name="spam_description">El número de eventos de spam procedentes de este relé</string>
|
||||
<string name="impersonation">Suplantación de identidad</string>
|
||||
<string name="illegal_behavior">Comportamiento ilegal</string>
|
||||
<string name="other">Otro</string>
|
||||
@@ -93,6 +94,7 @@
|
||||
<string name="posts">Publicaciones</string>
|
||||
<string name="bytes">Bytes</string>
|
||||
<string name="errors">Errores</string>
|
||||
<string name="errors_description">El número de errores de conexión en esta sesión</string>
|
||||
<string name="home_feed">Tus noticias</string>
|
||||
<string name="private_message_feed">Fuente de mensajes privados</string>
|
||||
<string name="public_chat_feed">Fuente de chat público</string>
|
||||
@@ -390,6 +392,8 @@
|
||||
<string name="sats_to_complete">Zapraiser en %1$s. %2$s sats hasta la meta</string>
|
||||
<string name="read_from_relay">Relé de lectura</string>
|
||||
<string name="write_to_relay">Relé de escritura</string>
|
||||
<string name="write_to_relay_description">La cantidad en bytes que se enviaron a este relé, incluyendo filtros y eventos</string>
|
||||
<string name="read_from_relay_description">La cantidad en bytes que se recibieron de este relé, incluyendo filtros y eventos</string>
|
||||
<string name="an_error_occurred_trying_to_get_relay_information">Se ha producido un error al intentar obtener información sobre el relé de %1$s</string>
|
||||
<string name="owner">Propietario</string>
|
||||
<string name="version">Versión</string>
|
||||
@@ -429,6 +433,7 @@
|
||||
<string name="are_you_sure_you_want_to_log_out">Al cerrar la sesión se borra toda tu información local. Asegúrate de tener una copia de seguridad de tus claves privadas para que no pierdas la cuenta. ¿Quieres continuar?</string>
|
||||
<string name="followed_tags">Etiquetas seguidas</string>
|
||||
<string name="relay_setup">Relés</string>
|
||||
<string name="discover_content">Descubrimiento de notas</string>
|
||||
<string name="discover_marketplace">Mercado</string>
|
||||
<string name="discover_live">En vivo</string>
|
||||
<string name="discover_community">Comunidad</string>
|
||||
@@ -669,6 +674,34 @@
|
||||
<string name="show_npub_as_a_qr_code">Mostrar npub como código QR</string>
|
||||
<string name="invalid_nip19_uri">Dirección inválida</string>
|
||||
<string name="invalid_nip19_uri_description">Amethyst recibió un URI para abrir pero era inválido: %1$s</string>
|
||||
<string name="dm_relays_title">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="dm_relays_through">Relés: %1$s</string>
|
||||
<string name="dm_relays_regular">Usando relés normales</string>
|
||||
<string name="dm_relays_not_found">Configura tus relés de buzón de entrada privados</string>
|
||||
<string name="dm_relays_not_found_description">Esta configuración permite que todo el mundo sepa qué relés usar cuando te envíen mensajes. Sin ellos, es posible que no recibas algunos mensajes.</string>
|
||||
<string name="dm_relays_not_found_examples">Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="dm_relays_not_found_editing">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos.</string>
|
||||
<string name="dm_relays_not_found_create_now">Configurar ahora</string>
|
||||
<string name="search_relays_title">Relés de búsqueda</string>
|
||||
<string name="search_relays_not_found">Configura tus relés de búsqueda</string>
|
||||
<string name="search_relays_not_found_description">La creación de una lista de relés específicamente diseñada para la búsqueda y el etiquetado de usuarios mejorará estos resultados.</string>
|
||||
<string name="search_relays_not_found_editing">Inserta entre 1 y 3 relés para usarlos al buscar contenido o etiquetar usuarios. Asegúrate de que los relés que elijas implementen NIP-50.</string>
|
||||
<string name="search_relays_not_found_examples">Algunas buenas opciones son: \n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Configuración de relés</string>
|
||||
<string name="public_home_section">Relés de inicio públicos</string>
|
||||
<string name="public_home_section_explainer">Este tipo de relé almacena todo tu contenido. Amethyst enviará tus publicaciones aquí y otros usarán estos relés para encontrar tu contenido. Inserta entre 1 y 3 relés. Pueden ser personales, de pago o públicos.</string>
|
||||
<string name="public_notif_section">Relés de buzón de entrada públicos</string>
|
||||
<string name="public_notif_section_explainer">Este tipo de relé recibe todas las respuestas, comentarios, me gusta y zaps de tus publicaciones. Inserta entre 1 y 3 relés y asegúrate de que acepten publicaciones de cualquier persona.</string>
|
||||
<string name="private_inbox_section">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="private_inbox_section_explainer">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Otros usarán estos relés para enviarte mensajes directos. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos. Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="private_outbox_section">Relés privados</string>
|
||||
<string name="private_outbox_section_explainer">Inserta entre 1 y 3 relés para almacenar eventos que nadie más pueda ver, como los borradores o la configuración de la app. Lo ideal es que estos relés sean locales o requieran autenticación antes de descargar el contenido de cada usuario.</string>
|
||||
<string name="kind_3_section">Relés generales</string>
|
||||
<string name="kind_3_section_description">Amethyst usa estos relés para descargar publicaciones por ti.</string>
|
||||
<string name="search_section">Relés de búsqueda</string>
|
||||
<string name="search_section_explainer">Lista de relés que se usarán al buscar contenido o usuarios. El etiquetado y la búsqueda no funcionarán si no hay opciones disponibles. Asegúrate de que implementen NIP-50.</string>
|
||||
<string name="local_section">Relés locales</string>
|
||||
<string name="local_section_explainer">Lista de relés que se utilizan en este dispositivo.</string>
|
||||
<string name="zap_the_devs_title">¡Zapea a los desarrolladores!</string>
|
||||
<string name="zap_the_devs_description">Tu donación nos ayuda a marcar la diferencia. ¡Cada sat cuenta!</string>
|
||||
<string name="donate_now">Donar ahora</string>
|
||||
@@ -706,4 +739,9 @@
|
||||
<string name="it_s_not_possible_to_zap_to_a_draft_note">No es posible zapear un borrador de nota</string>
|
||||
<string name="draft_note">Borrador de nota</string>
|
||||
<string name="load_from_text">Del msj</string>
|
||||
<string name="dvm_looking_for_app">Buscando aplicación</string>
|
||||
<string name="dvm_waiting_status">Trabajo solicitado, esperando respuesta</string>
|
||||
<string name="dvm_requesting_job">Solicitando trabajo a DVM</string>
|
||||
<string name="nwc_payment_request">Solicitud de pago enviada, esperando confirmación de tu monedero</string>
|
||||
<string name="dvm_waiting_to_confim_payment">Esperando a que DVM confirme el pago o envíe resultados</string>
|
||||
</resources>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="group_picture">Foto de grupo</string>
|
||||
<string name="explicit_content">Contenido explícito</string>
|
||||
<string name="spam">Spam</string>
|
||||
<string name="spam_description">El número de eventos de spam procedentes de este relé</string>
|
||||
<string name="impersonation">Suplantación de identidad</string>
|
||||
<string name="illegal_behavior">Comportamiento ilegal</string>
|
||||
<string name="other">Otro</string>
|
||||
@@ -93,6 +94,7 @@
|
||||
<string name="posts">Publicaciones</string>
|
||||
<string name="bytes">Bytes</string>
|
||||
<string name="errors">Errores</string>
|
||||
<string name="errors_description">El número de errores de conexión en esta sesión</string>
|
||||
<string name="home_feed">Tus noticias</string>
|
||||
<string name="private_message_feed">Feed de mensajes privados</string>
|
||||
<string name="public_chat_feed">Feed del chat público</string>
|
||||
@@ -390,6 +392,8 @@
|
||||
<string name="sats_to_complete">Zapraiser en %1$s. %2$s sats hasta la meta</string>
|
||||
<string name="read_from_relay">Relé de lectura</string>
|
||||
<string name="write_to_relay">Relé de escritura</string>
|
||||
<string name="write_to_relay_description">La cantidad en bytes que se enviaron a este relé, incluyendo filtros y eventos</string>
|
||||
<string name="read_from_relay_description">La cantidad en bytes que se recibieron de este relé, incluyendo filtros y eventos</string>
|
||||
<string name="an_error_occurred_trying_to_get_relay_information">Se produjo un error al intentar obtener información sobre el relé de %1$s</string>
|
||||
<string name="owner">Propietario</string>
|
||||
<string name="version">Versión</string>
|
||||
@@ -429,6 +433,7 @@
|
||||
<string name="are_you_sure_you_want_to_log_out">Al cerrar la sesión se borra toda tu información local. Asegúrate de tener una copia de seguridad de tus claves privadas para que no pierdas la cuenta. ¿Quieres continuar?</string>
|
||||
<string name="followed_tags">Etiquetas seguidas</string>
|
||||
<string name="relay_setup">Relés</string>
|
||||
<string name="discover_content">Descubrimiento de notas</string>
|
||||
<string name="discover_marketplace">Mercado</string>
|
||||
<string name="discover_live">En vivo</string>
|
||||
<string name="discover_community">Comunidad</string>
|
||||
@@ -669,6 +674,34 @@
|
||||
<string name="show_npub_as_a_qr_code">Mostrar npub como código QR</string>
|
||||
<string name="invalid_nip19_uri">Dirección inválida</string>
|
||||
<string name="invalid_nip19_uri_description">Amethyst recibió un URI para abrir pero era inválido: %1$s</string>
|
||||
<string name="dm_relays_title">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="dm_relays_through">Relés: %1$s</string>
|
||||
<string name="dm_relays_regular">Usando relés normales</string>
|
||||
<string name="dm_relays_not_found">Configura tus relés de buzón de entrada privados</string>
|
||||
<string name="dm_relays_not_found_description">Esta configuración permite que todo el mundo sepa qué relés usar cuando te envíen mensajes. Sin ellos, es posible que no recibas algunos mensajes.</string>
|
||||
<string name="dm_relays_not_found_examples">Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="dm_relays_not_found_editing">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos.</string>
|
||||
<string name="dm_relays_not_found_create_now">Configurar ahora</string>
|
||||
<string name="search_relays_title">Relés de búsqueda</string>
|
||||
<string name="search_relays_not_found">Configura tus relés de búsqueda</string>
|
||||
<string name="search_relays_not_found_description">La creación de una lista de relés específicamente diseñada para la búsqueda y el etiquetado de usuarios mejorará estos resultados.</string>
|
||||
<string name="search_relays_not_found_editing">Inserta entre 1 y 3 relés para usarlos al buscar contenido o etiquetar usuarios. Asegúrate de que los relés que elijas implementen NIP-50.</string>
|
||||
<string name="search_relays_not_found_examples">Algunas buenas opciones son: \n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Configuración de relés</string>
|
||||
<string name="public_home_section">Relés de inicio públicos</string>
|
||||
<string name="public_home_section_explainer">Este tipo de relé almacena todo tu contenido. Amethyst enviará tus publicaciones aquí y otros usarán estos relés para encontrar tu contenido. Inserta entre 1 y 3 relés. Pueden ser personales, de pago o públicos.</string>
|
||||
<string name="public_notif_section">Relés de buzón de entrada públicos</string>
|
||||
<string name="public_notif_section_explainer">Este tipo de relé recibe todas las respuestas, comentarios, me gusta y zaps de tus publicaciones. Inserta entre 1 y 3 relés y asegúrate de que acepten publicaciones de cualquier persona.</string>
|
||||
<string name="private_inbox_section">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="private_inbox_section_explainer">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Otros usarán estos relés para enviarte mensajes directos. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos. Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="private_outbox_section">Relés privados</string>
|
||||
<string name="private_outbox_section_explainer">Inserta entre 1 y 3 relés para almacenar eventos que nadie más pueda ver, como los borradores o la configuración de la app. Lo ideal es que estos relés sean locales o requieran autenticación antes de descargar el contenido de cada usuario.</string>
|
||||
<string name="kind_3_section">Relés generales</string>
|
||||
<string name="kind_3_section_description">Amethyst usa estos relés para descargar publicaciones por ti.</string>
|
||||
<string name="search_section">Relés de búsqueda</string>
|
||||
<string name="search_section_explainer">Lista de relés que se usarán al buscar contenido o usuarios. El etiquetado y la búsqueda no funcionarán si no hay opciones disponibles. Asegúrate de que implementen NIP-50.</string>
|
||||
<string name="local_section">Relés locales</string>
|
||||
<string name="local_section_explainer">Lista de relés que se utilizan en este dispositivo.</string>
|
||||
<string name="zap_the_devs_title">¡Zapea a los desarrolladores!</string>
|
||||
<string name="zap_the_devs_description">Tu donación nos ayuda a marcar la diferencia. ¡Cada sat cuenta!</string>
|
||||
<string name="donate_now">Donar ahora</string>
|
||||
@@ -706,4 +739,9 @@
|
||||
<string name="it_s_not_possible_to_zap_to_a_draft_note">No es posible zapear un borrador de nota</string>
|
||||
<string name="draft_note">Borrador de nota</string>
|
||||
<string name="load_from_text">Del msj</string>
|
||||
<string name="dvm_looking_for_app">Buscando aplicación</string>
|
||||
<string name="dvm_waiting_status">Trabajo solicitado, esperando respuesta</string>
|
||||
<string name="dvm_requesting_job">Solicitando trabajo a DVM</string>
|
||||
<string name="nwc_payment_request">Solicitud de pago enviada, esperando confirmación de tu billetera</string>
|
||||
<string name="dvm_waiting_to_confim_payment">Esperando a que DVM confirme el pago o envíe resultados</string>
|
||||
</resources>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="group_picture">Imagen del grupo</string>
|
||||
<string name="explicit_content">Contenido explícito</string>
|
||||
<string name="spam">Spam</string>
|
||||
<string name="spam_description">El número de eventos de spam procedentes de este relé</string>
|
||||
<string name="impersonation">Suplantación de identidad</string>
|
||||
<string name="illegal_behavior">Comportamiento ilegal</string>
|
||||
<string name="other">Otro</string>
|
||||
@@ -93,6 +94,7 @@
|
||||
<string name="posts">Publicaciones</string>
|
||||
<string name="bytes">Bytes</string>
|
||||
<string name="errors">Errores</string>
|
||||
<string name="errors_description">El número de errores de conexión en esta sesión</string>
|
||||
<string name="home_feed">Tus noticias</string>
|
||||
<string name="private_message_feed">Feed de mensajes privados</string>
|
||||
<string name="public_chat_feed">Feed del chat público</string>
|
||||
@@ -390,6 +392,8 @@
|
||||
<string name="sats_to_complete">Zapraiser en %1$s. %2$s sats hasta la meta</string>
|
||||
<string name="read_from_relay">Relé de lectura</string>
|
||||
<string name="write_to_relay">Relé de escritura</string>
|
||||
<string name="write_to_relay_description">La cantidad en bytes que se enviaron a este relé, incluyendo filtros y eventos</string>
|
||||
<string name="read_from_relay_description">La cantidad en bytes que se recibieron de este relé, incluyendo filtros y eventos</string>
|
||||
<string name="an_error_occurred_trying_to_get_relay_information">Se produjo un error al intentar obtener información sobre el relé de %1$s</string>
|
||||
<string name="owner">Propietario</string>
|
||||
<string name="version">Versión</string>
|
||||
@@ -429,6 +433,7 @@
|
||||
<string name="are_you_sure_you_want_to_log_out">Al cerrar la sesión se borra toda tu información local. Asegúrate de tener una copia de seguridad de tus claves privadas para que no pierdas la cuenta. ¿Quieres continuar?</string>
|
||||
<string name="followed_tags">Etiquetas seguidas</string>
|
||||
<string name="relay_setup">Relés</string>
|
||||
<string name="discover_content">Descubrimiento de notas</string>
|
||||
<string name="discover_marketplace">Mercado</string>
|
||||
<string name="discover_live">En vivo</string>
|
||||
<string name="discover_community">Comunidad</string>
|
||||
@@ -669,6 +674,34 @@
|
||||
<string name="show_npub_as_a_qr_code">Mostrar npub como código QR</string>
|
||||
<string name="invalid_nip19_uri">Dirección inválida</string>
|
||||
<string name="invalid_nip19_uri_description">Amethyst recibió un URI para abrir pero era inválido: %1$s</string>
|
||||
<string name="dm_relays_title">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="dm_relays_through">Relés: %1$s</string>
|
||||
<string name="dm_relays_regular">Usando relés normales</string>
|
||||
<string name="dm_relays_not_found">Configura tus relés de buzón de entrada privados</string>
|
||||
<string name="dm_relays_not_found_description">Esta configuración permite que todo el mundo sepa qué relés usar cuando te envíen mensajes. Sin ellos, es posible que no recibas algunos mensajes.</string>
|
||||
<string name="dm_relays_not_found_examples">Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="dm_relays_not_found_editing">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos.</string>
|
||||
<string name="dm_relays_not_found_create_now">Configurar ahora</string>
|
||||
<string name="search_relays_title">Relés de búsqueda</string>
|
||||
<string name="search_relays_not_found">Configura tus relés de búsqueda</string>
|
||||
<string name="search_relays_not_found_description">La creación de una lista de relés específicamente diseñada para la búsqueda y el etiquetado de usuarios mejorará estos resultados.</string>
|
||||
<string name="search_relays_not_found_editing">Inserta entre 1 y 3 relés para usarlos al buscar contenido o etiquetar usuarios. Asegúrate de que los relés que elijas implementen NIP-50.</string>
|
||||
<string name="search_relays_not_found_examples">Algunas buenas opciones son: \n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Configuración de relés</string>
|
||||
<string name="public_home_section">Relés de inicio públicos</string>
|
||||
<string name="public_home_section_explainer">Este tipo de relé almacena todo tu contenido. Amethyst enviará tus publicaciones aquí y otros usarán estos relés para encontrar tu contenido. Inserta entre 1 y 3 relés. Pueden ser personales, de pago o públicos.</string>
|
||||
<string name="public_notif_section">Relés de buzón de entrada públicos</string>
|
||||
<string name="public_notif_section_explainer">Este tipo de relé recibe todas las respuestas, comentarios, me gusta y zaps de tus publicaciones. Inserta entre 1 y 3 relés y asegúrate de que acepten publicaciones de cualquier persona.</string>
|
||||
<string name="private_inbox_section">Relés de buzón de entrada para mensajes directos</string>
|
||||
<string name="private_inbox_section_explainer">Inserta entre 1 y 3 relés para que te sirvan de buzón de entrada privado. Otros usarán estos relés para enviarte mensajes directos. Los relés del buzón de entrada para mensajes directos deberían aceptar cualquier mensaje de cualquier persona, pero solo te permiten descargarlos. Algunas buenas opciones son:\n - inbox.nostr.wine (de pago)\n - you.nostr1.com (relés personales; de pago)</string>
|
||||
<string name="private_outbox_section">Relés privados</string>
|
||||
<string name="private_outbox_section_explainer">Inserta entre 1 y 3 relés para almacenar eventos que nadie más pueda ver, como los borradores o la configuración de la app. Lo ideal es que estos relés sean locales o requieran autenticación antes de descargar el contenido de cada usuario.</string>
|
||||
<string name="kind_3_section">Relés generales</string>
|
||||
<string name="kind_3_section_description">Amethyst usa estos relés para descargar publicaciones por ti.</string>
|
||||
<string name="search_section">Relés de búsqueda</string>
|
||||
<string name="search_section_explainer">Lista de relés que se usarán al buscar contenido o usuarios. El etiquetado y la búsqueda no funcionarán si no hay opciones disponibles. Asegúrate de que implementen NIP-50.</string>
|
||||
<string name="local_section">Relés locales</string>
|
||||
<string name="local_section_explainer">Lista de relés que se utilizan en este dispositivo.</string>
|
||||
<string name="zap_the_devs_title">¡Zapea a los desarrolladores!</string>
|
||||
<string name="zap_the_devs_description">Tu donación nos ayuda a marcar la diferencia. ¡Cada sat cuenta!</string>
|
||||
<string name="donate_now">Donar ahora</string>
|
||||
@@ -706,4 +739,9 @@
|
||||
<string name="it_s_not_possible_to_zap_to_a_draft_note">No es posible zapear un borrador de nota</string>
|
||||
<string name="draft_note">Borrador de nota</string>
|
||||
<string name="load_from_text">Del msj</string>
|
||||
<string name="dvm_looking_for_app">Buscando aplicación</string>
|
||||
<string name="dvm_waiting_status">Trabajo solicitado, esperando respuesta</string>
|
||||
<string name="dvm_requesting_job">Solicitando trabajo a DVM</string>
|
||||
<string name="nwc_payment_request">Solicitud de pago enviada, esperando confirmación de tu billetera</string>
|
||||
<string name="dvm_waiting_to_confim_payment">Esperando a que DVM confirme el pago o envíe resultados</string>
|
||||
</resources>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="group_picture">समूह चित्र</string>
|
||||
<string name="explicit_content">अभद्र विषयवस्तु</string>
|
||||
<string name="spam">कचरालेख</string>
|
||||
<string name="spam_description">इस पुनःप्रसारक से कचरालेख घटनाओं की संख्या</string>
|
||||
<string name="impersonation">पररूपण</string>
|
||||
<string name="illegal_behavior">अवैध बरताव</string>
|
||||
<string name="other">अन्य</string>
|
||||
@@ -93,6 +94,7 @@
|
||||
<string name="posts">पत्र</string>
|
||||
<string name="bytes">अष्टक</string>
|
||||
<string name="errors">अपक्रम</string>
|
||||
<string name="errors_description">संयोजन अपक्रमों की संख्या इस सत्र में</string>
|
||||
<string name="home_feed">मुख्य सूचनावली</string>
|
||||
<string name="private_message_feed">निजी संदेश सूचनावली</string>
|
||||
<string name="public_chat_feed">सार्वजनिक चर्चा सूचनावली</string>
|
||||
@@ -390,6 +392,8 @@
|
||||
<string name="sats_to_complete">ज्सापोपार्जन योजना %1$s पर। %2$s साट्स का लक्ष्य</string>
|
||||
<string name="read_from_relay">पुनःप्रसारक से पढें</string>
|
||||
<string name="write_to_relay">पुनःप्रसारक को लिखकर भेजें</string>
|
||||
<string name="write_to_relay_description">अष्टकों में मात्रा जो इस पुनःप्रसारक को भेजा गया था छलनियाँ तथा घटनाएँ समेत</string>
|
||||
<string name="read_from_relay_description">अष्टकों में मात्रा जो इस पुनःप्रसारक से प्राप्त हुआ था छलनियाँ तथा घटनाएँ समेत</string>
|
||||
<string name="an_error_occurred_trying_to_get_relay_information">%1$s से पुनःप्रसारक जानकारी प्राप्त करने के प्रयास में अपक्रम हुआ</string>
|
||||
<string name="owner">अधिपति</string>
|
||||
<string name="version">संस्करण</string>
|
||||
@@ -429,6 +433,7 @@
|
||||
<string name="are_you_sure_you_want_to_log_out">निर्गमनांकन करने पर आपकी सारी स्थानीय जानकारी मिट जाएगी। सुनिश्चित करें कि आपके निजी कुंचिकाएँ सुरक्षित रखें हैं अपनी लेखा नहीं खोना चाहते हैं तो। क्या आप आगे बढना चाहते हैं?</string>
|
||||
<string name="followed_tags">अनुचरण किये हुए विषयसूचक</string>
|
||||
<string name="relay_setup">पुनःप्रसारक</string>
|
||||
<string name="discover_content">लेख आविष्करण</string>
|
||||
<string name="discover_marketplace">पण्यक्षेत्र</string>
|
||||
<string name="discover_live">तत्क्षणप्रसार</string>
|
||||
<string name="discover_community">समुदाय</string>
|
||||
@@ -669,6 +674,22 @@
|
||||
<string name="show_npub_as_a_qr_code">क्यूआर क्रमचित्र के रूप में npub को दिखाएँ</string>
|
||||
<string name="invalid_nip19_uri">अमान्य पता</string>
|
||||
<string name="invalid_nip19_uri_description">अमेथिस्ट को एक वैश्विक वस्तु विभेदक प्राप्त हुआ खोलने के लिए परन्तु वह विभेदक अमान्य था : %1$s</string>
|
||||
<string name="dm_relays_title">सी॰सं॰ आगतपेटिका पुनःप्रसारक</string>
|
||||
<string name="dm_relays_through">पुनःप्रसारक : %1$s</string>
|
||||
<string name="dm_relays_regular">साधारण पुनःप्रसारक प्रयुक्त</string>
|
||||
<string name="dm_relays_not_found">आपके निजी आगतपेटिका पुनःप्रसारकों की स्थापना करें</string>
|
||||
<string name="dm_relays_not_found_create_now">अभी स्थापना करें</string>
|
||||
<string name="search_relays_title">खोज पुनःप्रसारक</string>
|
||||
<string name="search_relays_not_found">आपके खोज पुनःप्रसारकों की स्थापना करें</string>
|
||||
<string name="relay_settings">पुनःप्रसारक स्थापना विकल्प</string>
|
||||
<string name="public_home_section">सार्वजनिक मुख्य पुनःप्रसारक</string>
|
||||
<string name="public_notif_section">सार्वजनिक आगतपेटिका पुनःप्रसारक</string>
|
||||
<string name="private_inbox_section">सी॰सं॰ आगतपेटिका पुनःप्रसारक</string>
|
||||
<string name="private_outbox_section">निजी पुनःप्रसारक</string>
|
||||
<string name="kind_3_section">सामान्य पुनःप्रसारक</string>
|
||||
<string name="search_section">खोज पुनःप्रसारक</string>
|
||||
<string name="local_section">स्थानीय पुनःप्रसारक</string>
|
||||
<string name="local_section_explainer">पुनःप्रसारकों की सूची जो इस यन्त्र पर चल रहे हैं।</string>
|
||||
<string name="zap_the_devs_title">क्रमलखकों को ज्साप करें!</string>
|
||||
<string name="zap_the_devs_description">आपका दान हमारा सहायक है परिवर्तन लाने में। प्रत्येक साट गणनीय है!</string>
|
||||
<string name="donate_now">दान करें अभी</string>
|
||||
|
||||
@@ -685,16 +685,21 @@
|
||||
<string name="search_relays_not_found_description">Criar uma lista de relés especificamente projetada para pesquisa e marcação de usuários melhorará esses resultados.</string>
|
||||
<string name="search_relays_not_found_editing">Insira entre 1–3 relés para usar ao pesquisar conteúdo ou marcar usuários. Certifique-se de que seus relés escolhidos implementem o NIP-50</string>
|
||||
<string name="search_relays_not_found_examples">Boas opções são:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Configurações de Relay</string>
|
||||
<string name="public_home_section">Relés Públicos de Casa</string>
|
||||
<string name="public_home_section_explainer">Esse tipo de relé armazena todo o seu conteúdo. Amethyst enviará suas postagens aqui e outros usarão esses relés para encontrar seu conteúdo. Insira entre 1–3 relés. Eles podem ser relés pessoais, relés pagos ou relés públicos.</string>
|
||||
<string name="public_notif_section">Relés Públicos de Caixa de Entrada</string>
|
||||
<string name="public_notif_section_explainer">Esse tipo de relé recebe todas as respostas, comentários, curtidas e zaps para suas postagens. Insira entre 1–3 relés e certifique-se de que aceitem postagens de qualquer pessoa.</string>
|
||||
<string name="private_inbox_section">Relés de Caixa de Entrada de DM</string>
|
||||
<string name="private_inbox_section_explainer">Insira entre 1–3 relés para servir como sua caixa de entrada privada. Outros usarão esses relés para enviar DMs para você. Relés de Caixa de Entrada de DM devem aceitar qualquer mensagem de qualquer pessoa, mas permitir apenas você baixá-las. Boas opções são:\n - inbox.nostr.wine (pago)\n - you.nostr1.com (relés pessoais - pago)</string>
|
||||
<string name="private_outbox_section">Relés privados</string>
|
||||
<string name="private_outbox_section_explainer">Insira entre 1-3 retransmissores para armazenar eventos que ninguém mais possa ver, como seus rascunhos e/ou configurações de aplicativo. Idealmente, esses relés são locais ou requerem autenticação antes de baixar o conteúdo de cada usuário.</string>
|
||||
<string name="kind_3_section">Relés Gerais</string>
|
||||
<string name="kind_3_section_description">Amethyst usa esses relés para baixar postagens para você.</string>
|
||||
<string name="search_section">Relés de Pesquisa</string>
|
||||
<string name="search_section_explainer">Lista de relés para usar em pesquisas e marcação de usuários. A marcação e a pesquisa não funcionarão se não houver opções disponíveis.</string>
|
||||
<string name="local_section">Relés locais</string>
|
||||
<string name="local_section_explainer">Lista de relés que estão sendo executados neste dispositivo.</string>
|
||||
<string name="zap_the_devs_title">Zap os desenvolvedores!</string>
|
||||
<string name="zap_the_devs_description">Sua doação nos ajuda a fazer a diferença. Cada sat conta!</string>
|
||||
<string name="donate_now">Doar agora</string>
|
||||
|
||||
@@ -684,16 +684,21 @@
|
||||
<string name="search_relays_not_found_description">Att skapa en relälista speciellt utformad för sökning och användartaggning kommer att förbättra dessa resultat.</string>
|
||||
<string name="search_relays_not_found_editing">Sätt in mellan 1–3 reläer att använda när du söker efter innehåll eller taggar användare. Se till att dina valda reläer implementerar NIP-50</string>
|
||||
<string name="search_relays_not_found_examples">Bra alternativ är:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
|
||||
<string name="relay_settings">Relä inställningar</string>
|
||||
<string name="public_home_section">Offentliga hemreläer</string>
|
||||
<string name="public_home_section_explainer">Denna typ av relä lagrar allt ditt innehåll. Amethyst skickar dina inlägg hit och andra kommer att använda dessa reläer för att hitta ditt innehåll. Sätt in mellan 1–3 reläer. De kan vara personliga reläer, betalda reläer eller offentliga reläer.</string>
|
||||
<string name="public_notif_section">Offentliga inkorgsreläer</string>
|
||||
<string name="public_notif_section_explainer">Denna typ av relä tar emot alla svar, kommentarer, gillanden och zaps till dina inlägg. Sätt in mellan 1–3 reläer och se till att de accepterar inlägg från vem som helst.</string>
|
||||
<string name="private_inbox_section">DM inkorgsreläer</string>
|
||||
<string name="private_inbox_section_explainer">Sätt in mellan 1–3 reläer som ska fungera som din privata inkorg. Andra kommer att använda dessa reläer för att skicka DM till dig. DM inkorgsreläer bör acceptera alla meddelanden från vem som helst, men endast tillåta dig att ladda ner dem. Bra alternativ är:\n - inbox.nostr.wine (betald)\n - you.nostr1.com (personliga reläer - betald)</string>
|
||||
<string name="private_outbox_section">Privata reläer</string>
|
||||
<string name="private_outbox_section_explainer">Infoga mellan 1–3 reläer för att lagra händelser som ingen annan kan se, som dina Utkast och/eller appinställningar. Helst är dessa reläer antingen lokala eller kräver autentisering innan du laddar ner varje användares innehåll.</string>
|
||||
<string name="kind_3_section">Allmänna reläer</string>
|
||||
<string name="kind_3_section_description">Amethyst använder dessa reläer för att ladda ner inlägg åt dig.</string>
|
||||
<string name="search_section">Sökreläer</string>
|
||||
<string name="search_section_explainer">Lista över reläer som används för sökning och taggning av användare. Taggning och sökning kommer inte att fungera om inga alternativ är tillgängliga.</string>
|
||||
<string name="local_section">Lokala reläer</string>
|
||||
<string name="local_section_explainer">Lista över reläer som körs i denna enhet.</string>
|
||||
<string name="zap_the_devs_title">Zappa utvecklarna!</string>
|
||||
<string name="zap_the_devs_description">Din donation hjälper oss att göra skillnad. Varje sat räknas!</string>
|
||||
<string name="donate_now">Donera nu</string>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="group_picture">群聊图片</string>
|
||||
<string name="explicit_content">明确内容</string>
|
||||
<string name="spam">垃圾信息</string>
|
||||
<string name="spam_description">来自该中继的垃圾事件数量</string>
|
||||
<string name="impersonation">冒充</string>
|
||||
<string name="illegal_behavior">非法行为</string>
|
||||
<string name="other">其它</string>
|
||||
@@ -25,8 +26,8 @@
|
||||
<string name="copy_user_pubkey">复制作者@npub</string>
|
||||
<string name="copy_note_id">复制笔记ID</string>
|
||||
<string name="broadcast">广播</string>
|
||||
<string name="timestamp_it">时间戳</string>
|
||||
<string name="timestamp_pending">时间戳:待确认</string>
|
||||
<string name="timestamp_it">获取 OpenTimestamps</string>
|
||||
<string name="timestamp_pending">OpenTimestamps:待确认</string>
|
||||
<string name="timestamp_pending_short">OTS:待定</string>
|
||||
<string name="request_deletion">请求删除</string>
|
||||
<string name="block_report">屏蔽/举报</string>
|
||||
@@ -52,6 +53,7 @@
|
||||
<string name="edited_number">编辑 #%1$s</string>
|
||||
<string name="original">原版</string>
|
||||
<string name="quote">引用</string>
|
||||
<string name="fork">复刻</string>
|
||||
<string name="propose_an_edit">提议编辑</string>
|
||||
<string name="new_amount_in_sats">新的聪金额</string>
|
||||
<string name="add">添加</string>
|
||||
@@ -92,6 +94,7 @@
|
||||
<string name="posts">帖文</string>
|
||||
<string name="bytes">字节</string>
|
||||
<string name="errors">错误</string>
|
||||
<string name="errors_description">该会话中产生的连接错误数量</string>
|
||||
<string name="home_feed">主页</string>
|
||||
<string name="private_message_feed">私信</string>
|
||||
<string name="public_chat_feed">公开聊天</string>
|
||||
@@ -389,6 +392,8 @@
|
||||
<string name="sats_to_complete">Zapraiser 位于 %1$s。距离目标%2$s聪</string>
|
||||
<string name="read_from_relay">从中继器读取</string>
|
||||
<string name="write_to_relay">写入到继电器</string>
|
||||
<string name="write_to_relay_description">向该中继发送事件和过滤请求所使用的数据量</string>
|
||||
<string name="read_from_relay_description">从该中继接收事件和过滤响应所使用的数据量</string>
|
||||
<string name="an_error_occurred_trying_to_get_relay_information">尝试从 %1$s 获取中继器信息时出错</string>
|
||||
<string name="owner">机主</string>
|
||||
<string name="version">版本</string>
|
||||
@@ -428,6 +433,7 @@
|
||||
<string name="are_you_sure_you_want_to_log_out">登出将删除你的本地信息。 请确保备份你的私钥以避免失去你的帐户。你想要继续吗?</string>
|
||||
<string name="followed_tags">已关注的标签</string>
|
||||
<string name="relay_setup">中继器</string>
|
||||
<string name="discover_content">笔记发现</string>
|
||||
<string name="discover_marketplace">市场</string>
|
||||
<string name="discover_live">直播</string>
|
||||
<string name="discover_community">社区</string>
|
||||
@@ -668,6 +674,34 @@
|
||||
<string name="show_npub_as_a_qr_code">将 npub 显示为二维码</string>
|
||||
<string name="invalid_nip19_uri">地址无效</string>
|
||||
<string name="invalid_nip19_uri_description">Amethyst 收到了要打开的 URI,但该 uri 无效:%1$s</string>
|
||||
<string name="dm_relays_title">私信收件箱中继</string>
|
||||
<string name="dm_relays_through">中继:%1$s</string>
|
||||
<string name="dm_relays_regular">使用常规中继</string>
|
||||
<string name="dm_relays_not_found">设置你的私人收件箱中继</string>
|
||||
<string name="dm_relays_not_found_description">该设置可以让所有人知道向您发送消息时应该使用的中继。如果没有的话,您可能会错过一些消息。</string>
|
||||
<string name="dm_relays_not_found_examples">示例:\n - inbox.nostr.wine (付费)\n - you.nostr1.com (个人专用中继 - 付费)</string>
|
||||
<string name="dm_relays_not_found_editing">设置 1 ~ 3 个私人收件箱中继。需要确保这些收件箱中继能够接受来自任何人的任何私信消息,但只允许您读取这些消息。</string>
|
||||
<string name="dm_relays_not_found_create_now">立即设置</string>
|
||||
<string name="search_relays_title">搜索中继</string>
|
||||
<string name="search_relays_not_found">设置你的搜索中继</string>
|
||||
<string name="search_relays_not_found_description">通过创建专用于关键词和标签检索的中继列表能够改善搜索结果。</string>
|
||||
<string name="search_relays_not_found_editing">设置 1 ~ 3 个支持 NIP-50 的中继,用于关键词和标签检索。</string>
|
||||
<string name="search_relays_not_found_examples">示例:\n - nostr.wine\n - reiny.nostr.band\n - reliy.noswhere.com</string>
|
||||
<string name="relay_settings">中继设置</string>
|
||||
<string name="public_home_section">公共时间线中继</string>
|
||||
<string name="public_home_section_explainer">这类中继会保存您的所有内容。Amethyst 会将您的事件发送到这些中继,其他人则通过这些中继查找您的内容。可以设置 1 ~ 3 个中继。它们可以是个人专用中继、付费中继或者公共中继。</string>
|
||||
<string name="public_notif_section">公共收件箱中继</string>
|
||||
<string name="public_notif_section_explainer">这类中继用于接收其他人对您内容的回复、评论、点赞和打闪。可设置 1 ~ 3 个中继,需要确保它们能够接受来自任何人的事件(公共写入)。</string>
|
||||
<string name="private_inbox_section">私信收件箱中继</string>
|
||||
<string name="private_inbox_section_explainer">设置 1 ~ 3 个中继作为您的私人收件箱。其他人将使用这些中继向您发送私信。需要确保这些收件箱中继能够接受来自任何人的任何私信消息,但只允许您读取这些消息。示例:\n - inbox.nostr.wine(付费)\n - you.nostr1.com(个人专用中继 - 付费)</string>
|
||||
<string name="private_outbox_section">私人中继</string>
|
||||
<string name="private_outbox_section_explainer">设置 1 ~ 3 个中继用于保存其他人无法看到的事件,例如你的草稿和软件设置。理想情况下,这些应该是本地中继,或者是在获取用户内容时需要经过身份验证的中继。</string>
|
||||
<string name="kind_3_section">通用中继</string>
|
||||
<string name="kind_3_section_description">Amethyst 会通过这些中继为您获取帖子。</string>
|
||||
<string name="search_section">搜索中继</string>
|
||||
<string name="search_section_explainer">用于关键词和标签检索的中继列表。如果没有可用选项,也就无法使用关键词和标签检索。需要确保它们支持 NIP-50。</string>
|
||||
<string name="local_section">本地中继</string>
|
||||
<string name="local_section_explainer">在该设备中运行的中继列表。</string>
|
||||
<string name="zap_the_devs_title">打闪开发人员!</string>
|
||||
<string name="zap_the_devs_description">你的捐赠帮助我们做出不同的贡献。每个聪都很重要!</string>
|
||||
<string name="donate_now">立即捐款</string>
|
||||
@@ -676,10 +710,14 @@
|
||||
<string name="version_name">版本 %1$s</string>
|
||||
<string name="thank_you">谢谢!</string>
|
||||
<string name="max_limit">最大上限</string>
|
||||
<string name="restricted_writes">写入限制</string>
|
||||
<string name="forked_from"></string>
|
||||
<string name="forked_tag">复刻</string>
|
||||
<string name="git_repository">Git 仓库: %1$s</string>
|
||||
<string name="git_web_address">网址</string>
|
||||
<string name="git_clone_address">克隆:</string>
|
||||
<string name="existed_since">OTS:%1$s</string>
|
||||
<string name="ots_info_title">时间戳证明</string>
|
||||
<string name="ots_info_title">OpenTimestamps 证明</string>
|
||||
<string name="ots_info_description">%1$s之前的某个时候签署了此帖子的证明。此证明是在那个日期和时间在比特币区块链中盖章的。</string>
|
||||
<string name="edit_post">编辑帖子</string>
|
||||
<string name="proposal_to_edit">提议改进帖子</string>
|
||||
@@ -701,4 +739,9 @@
|
||||
<string name="it_s_not_possible_to_zap_to_a_draft_note">无法打闪笔记草稿</string>
|
||||
<string name="draft_note">笔记草稿</string>
|
||||
<string name="load_from_text">来自消息</string>
|
||||
<string name="dvm_looking_for_app">搜寻应用</string>
|
||||
<string name="dvm_waiting_status">数据作业已申请,正在等待回复</string>
|
||||
<string name="dvm_requesting_job">向 DVM 请求数据作业</string>
|
||||
<string name="nwc_payment_request">付款请求已发送,正在等待您的钱包的确认</string>
|
||||
<string name="dvm_waiting_to_confim_payment">等待 DVM 确认付款或返回结果</string>
|
||||
</resources>
|
||||
|
||||
@@ -668,6 +668,14 @@
|
||||
<string name="show_npub_as_a_qr_code">將 npub 顯示爲二維碼</string>
|
||||
<string name="invalid_nip19_uri">地址無效</string>
|
||||
<string name="invalid_nip19_uri_description">Amethyst 收到了要打開的 URI,但該 URI 無效:%1$s</string>
|
||||
<string name="dm_relays_through">中繼器 %1$s</string>
|
||||
<string name="dm_relays_not_found_create_now">立即設定</string>
|
||||
<string name="search_relays_title">搜索中繼器</string>
|
||||
<string name="search_relays_not_found">設置你的搜索中繼器</string>
|
||||
<string name="relay_settings">中繼器設置</string>
|
||||
<string name="kind_3_section">一般中繼器</string>
|
||||
<string name="search_section">搜索中繼器</string>
|
||||
<string name="local_section">本地中繼器</string>
|
||||
<string name="zap_the_devs_title">打閃開發人員</string>
|
||||
<string name="zap_the_devs_description">你的捐贈幫助我們做出不同的貢獻。 每個聰都很重要!</string>
|
||||
<string name="donate_now">立即捐款</string>
|
||||
|
||||
@@ -147,6 +147,8 @@ class AppDefinitionEvent(
|
||||
.filter { it.size > 1 && it[0] == "k" }
|
||||
.mapNotNull { runCatching { it[1].toInt() }.getOrNull() }
|
||||
|
||||
fun includeKind(kind: String) = tags.any { it.size > 1 && it[0] == "k" && it[1] == kind }
|
||||
|
||||
fun publishedAt() = tags.firstOrNull { it.size > 1 && it[0] == "published_at" }?.get(1)
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user