Merge remote-tracking branch 'origin/main' into claude/awesome-pasteur-xwiwad

# Conflicts:
#	amethyst/src/main/res/values/strings.xml
This commit is contained in:
Claude
2026-06-22 14:50:16 +00:00
466 changed files with 4894 additions and 11822 deletions
+7 -4
View File
@@ -129,10 +129,12 @@ via `Output.emit`. The template is in `references/command-template.md`;
copy it rather than re-deriving it.
Wire-up checklist:
1. New file in `cli/commands/` with the `object` pattern.
2. Add a branch in `Commands.kt`.
3. Add a branch in `Main.kt`'s `dispatch` (or under `marmotDispatch`
/ a new group dispatcher).
1. New file in `cli/commands/` with the `object` pattern. Sub-verb
`dispatch` functions use the shared `route(...)` helper in
`Router.kt` rather than a hand-rolled `when (tail[0])`.
2. Add a branch in `Main.kt`'s `dispatch` (top-level verbs call the
command object directly, e.g. `"relay" -> RelayCommands.dispatch(…)`;
`marmot` sub-verbs go through `marmotDispatch`'s `route` map).
4. Extend `printUsage()` in `Main.kt`.
5. Add the row to `cli/README.md`'s command table.
6. Update `cli/ROADMAP.md` — move the row from 🆕 / 📦 to ✅.
@@ -173,6 +175,7 @@ cli/
├── secrets/ # SecretStore backends (keychain / ncryptsec / plaintext)
└── commands/ # one file (or group) per top-level verb
├── UseCommand.kt # `amy use NAME`
├── Router.kt # `route(...)` shared sub-verb dispatcher
├── InitCommands.kt # init, whoami
├── CreateCommand.kt + LoginCommand.kt
├── RelayCommands.kt
@@ -18,8 +18,7 @@ object NotePublishCommand {
val args = Args(rest)
val text = args.positional(0, "text")
val ctx = Context.open(dataDir)
try {
Context.open(dataDir).use { ctx ->
ctx.prepare()
val event = com.vitorpamplona.amethyst.commons.note
@@ -33,13 +32,15 @@ object NotePublishCommand {
"rejected_by" to ack.filterValues { !it }.keys.map { it.url },
))
return 0
} finally {
ctx.close()
}
}
}
```
`Context` is `AutoCloseable`; wrap it in `use { }` so it's closed
(RunState flushed, relays disconnected) on every exit path — never a
hand-rolled `try { } finally { ctx.close() }`.
`Output.emit(...)` handles the text-vs-JSON mode automatically. The
result map IS the `--json` shape; the human-readable text default is
derived from the same map by `Output.kt`'s renderer.
@@ -51,39 +52,34 @@ When a feature has several verbs (`note publish`, `note show`,
```kotlin
object NoteCommands {
suspend fun dispatch(dataDir: DataDir, tail: Array<String>): Int {
if (tail.isEmpty()) return Output.error("bad_args", "note <publish|show|react>")
val rest = tail.drop(1).toTypedArray()
return when (tail[0]) {
"publish" -> NotePublishCommand.run(dataDir, rest)
"show" -> NoteShowCommand.run(dataDir, rest)
"react" -> NoteReactCommand.run(dataDir, rest)
else -> Output.error("bad_args", "note ${tail[0]}")
}
}
suspend fun dispatch(dataDir: DataDir, tail: Array<String>): Int =
route("note", tail, "note <publish|show|react>", mapOf(
"publish" to { rest -> NotePublishCommand.run(dataDir, rest) },
"show" to { rest -> NoteShowCommand.run(dataDir, rest) },
"react" to { rest -> NoteReactCommand.run(dataDir, rest) },
))
}
```
Each verb gets its own file. Once a single file crosses ~200 lines,
split it — see `GroupCommands.kt` and its siblings as the reference.
The shared `route(name, tail, usage, routes)` helper (`Router.kt`)
handles the empty-input and unknown-verb `bad_args` branches, so the
`dispatch` body is just the verb→handler map. Each verb gets its own
file. Once a single file crosses ~200 lines, split it — see
`GroupCommands.kt` and its siblings as the reference.
## Wire-up checklist
For every new command:
1. File under `cli/commands/`.
2. Branch in `Commands.kt`:
2. Branch in `Main.kt`'s top-level `dispatch`, calling the command
object directly:
```kotlin
suspend fun note(dataDir: DataDir, tail: Array<String>): Int =
NoteCommands.dispatch(dataDir, tail)
"note" -> NoteCommands.dispatch(dataDir, tail)
```
3. Branch in `Main.kt`'s top-level `dispatch`:
```kotlin
"note" -> Commands.note(dataDir, tail)
```
4. Line in `printUsage()` explaining the verb.
5. Row in `cli/README.md`'s command table.
6. Status flip in `cli/ROADMAP.md` (🆕 / 📦 → ✅).
3. Line in `printUsage()` explaining the verb.
4. Row in `cli/README.md`'s command table.
5. Status flip in `cli/ROADMAP.md` (🆕 / 📦 → ✅).
## What not to do
@@ -95,7 +91,7 @@ For every new command:
them to `error: …` (text mode) / `{"error":…}` (JSON mode) plus the
right exit code.
- No holding a connection open across invocations — every run opens
a fresh `Context` and closes it in `finally`.
a fresh `Context` inside `use { }` so it closes on every exit path.
- No blocking reads for user input — take a flag.
- No global flags that collide with subcommand flags. `--name` is
reserved for subcommand use (group/profile name); the global
+3 -3
View File
@@ -7,7 +7,7 @@ description: Integration guide for using the Quartz Nostr KMP library in externa
Reference for integrating `com.vitorpamplona.quartz:quartz` into external Nostr KMP projects.
**Published artifact**: `com.vitorpamplona.quartz:quartz:1.12.5` (Maven Central)
**Published artifact**: `com.vitorpamplona.quartz:quartz:1.12.6` (Maven Central)
**Targets**: JVM 21+, Android (minSdk 21+), iOS (XCFramework `quartz-kmpKit`)
**License**: MIT
@@ -19,7 +19,7 @@ Reference for integrating `com.vitorpamplona.quartz:quartz` into external Nostr
```toml
[versions]
quartz = "1.12.5"
quartz = "1.12.6"
[libraries]
quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" }
@@ -41,7 +41,7 @@ kotlin {
```kotlin
dependencies {
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
}
```
@@ -3,7 +3,7 @@
## Current version
```
com.vitorpamplona.quartz:quartz:1.12.5
com.vitorpamplona.quartz:quartz:1.12.6
```
Check latest: https://central.sonatype.com/artifact/com.vitorpamplona.quartz/quartz
@@ -16,7 +16,7 @@ Check latest: https://central.sonatype.com/artifact/com.vitorpamplona.quartz/qua
```toml
[versions]
quartz = "1.12.5"
quartz = "1.12.6"
[libraries]
quartz = { module = "com.vitorpamplona.quartz:quartz", version.ref = "quartz" }
@@ -55,7 +55,7 @@ kotlin {
```kotlin
// build.gradle.kts (app module)
dependencies {
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
}
```
@@ -70,7 +70,7 @@ plugins {
}
dependencies {
implementation("com.vitorpamplona.quartz:quartz:1.12.5")
implementation("com.vitorpamplona.quartz:quartz:1.12.6")
// JNA needed for libsodium (NIP-44) on JVM
implementation("net.java.dev.jna:jna:5.18.1")
}
+28 -27
View File
@@ -10,12 +10,21 @@ permissions:
pull-requests: write
jobs:
# Single job so the Crowdin translation sync and the translator-placeholder seed
# land in ONE pull request instead of two. The Crowdin action only downloads into
# the working tree (push_translations/create_pull_request disabled); the seed
# script then edits translators.json; finally one create-pull-request step opens a
# single PR with both sets of changes (and no-ops when there is no diff).
synchronize-with-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
# Need tags so scripts/translators.sh can resolve the last v* release tag
# for the "since last tag" window.
fetch-depth: 0
- name: crowdin action
uses: crowdin/github-action@v2
@@ -23,50 +32,42 @@ jobs:
upload_sources: true
upload_translations: true
download_translations: true
localization_branch_name: l10n_crowdin_translations
create_pull_request: true
pull_request_title: 'New Crowdin Translations'
pull_request_body: 'New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)'
pull_request_base_branch_name: 'main'
# Let the downloaded translations stay in the working tree; the single
# create-pull-request step below opens the combined PR.
push_translations: false
create_pull_request: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
# Keep docs/changelog/translators.json seeded with everyone who has translated
# recently, so the per-release `## Translations` credits (scripts/translators.sh)
# can resolve them to npubs. Runs independently of the sync job above and only
# opens/updates a PR when a genuinely new contributor appears.
seed-translators:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
# Need tags so the script can resolve the last v* release tag for the
# "since last tag" window.
fetch-depth: 0
# Keep docs/changelog/translators.json seeded with everyone who has translated
# recently, so the per-release `## Translations` credits (scripts/translators.sh)
# can resolve them to npubs. Only adds rows when a genuinely new contributor
# appears.
- name: Seed translator placeholders from Crowdin
run: bash scripts/translators.sh --seed
env:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Open or update the seed PR
- name: Open or update the combined Crowdin PR
# peter-evans/create-pull-request is MIT-licensed CI-only tooling (not
# linked into any shipped artifact). It no-ops when there is no diff.
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
base: main
branch: chore/seed-translators
add-paths: docs/changelog/translators.json
commit-message: 'chore: seed translator npub placeholders from Crowdin'
title: 'Seed translator npub placeholders'
branch: l10n_crowdin_translations
add-paths: |
amethyst/src/main/res/**/strings.xml
docs/changelog/translators.json
commit-message: 'chore: sync Crowdin translations and seed translator npub placeholders'
title: 'New Crowdin Translations'
body: |
New Crowdin contributors were added to `docs/changelog/translators.json`
New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action).
Any new Crowdin contributors were added to `docs/changelog/translators.json`
with blank npubs. Fill in the npubs you have so the next release's
`## Translations` credits generate automatically via
`scripts/translators.sh --from <prev-tag> --to <this-tag>`.
`scripts/translators.sh --from <prev-tag> --to <this-tag>`.
+5 -5
View File
@@ -297,16 +297,16 @@ repositories {
Add the following line to your `commonMain` dependencies:
```gradle
implementation('com.vitorpamplona.quartz:quartz:1.12.5')
implementation('com.vitorpamplona.quartz:quartz:1.12.6')
```
Variations to each platform are also available:
```gradle
implementation('com.vitorpamplona.quartz:quartz-android:1.12.5')
implementation('com.vitorpamplona.quartz:quartz-jvm:1.12.5')
implementation('com.vitorpamplona.quartz:quartz-iosarm64:1.12.5')
implementation('com.vitorpamplona.quartz:quartz-iossimulatorarm64:1.12.5')
implementation('com.vitorpamplona.quartz:quartz-android:1.12.6')
implementation('com.vitorpamplona.quartz:quartz-jvm:1.12.6')
implementation('com.vitorpamplona.quartz:quartz-iosarm64:1.12.6')
implementation('com.vitorpamplona.quartz:quartz-iossimulatorarm64:1.12.6')
```
Check versions on [MavenCentral](https://central.sonatype.com/search?q=com.vitorpamplona.quartz)
@@ -123,6 +123,7 @@ private object PrefKeys {
const val DEFAULT_BROWSE_EMOJI_SETS_FOLLOW_LIST = "defaultBrowseEmojiSetsFollowList"
const val DEFAULT_COMMUNITIES_FOLLOW_LIST = "defaultCommunitiesFollowList"
const val DEFAULT_FOLLOW_PACKS_FOLLOW_LIST = "defaultFollowPacksFollowList"
const val DEFAULT_APP_RECOMMENDATIONS_FOLLOW_LIST = "defaultAppRecommendationsFollowList"
const val ZAP_PAYMENT_REQUEST_SERVER = "zapPaymentServer" // legacy, kept for migration
const val NWC_WALLETS = "nwcWallets"
const val DEFAULT_NWC_WALLET_ID = "defaultNwcWalletId" // legacy, migrated into DEFAULT_PAYMENT_SOURCE_ID
@@ -152,6 +153,7 @@ private object PrefKeys {
const val HIDE_NIP_17_WARNING_DIALOG = "hide_nip24_warning_dialog" // delete later
const val ALWAYS_ON_NOTIFICATION_SERVICE = "always_on_notification_service"
const val SPLIT_NOTIFICATIONS_ENABLED = "split_notifications_enabled"
const val SHOW_MESSAGES_IN_NOTIFICATIONS = "show_messages_in_notifications"
// One-shot stamp: set once an account has gone through the notifications
// Global -> Selected (Curated) migration (or was created after it shipped).
@@ -406,6 +408,7 @@ object LocalPreferences {
putString(PrefKeys.DEFAULT_BROWSE_EMOJI_SETS_FOLLOW_LIST, JsonMapper.toJson(settings.defaultBrowseEmojiSetsFollowList.value))
putString(PrefKeys.DEFAULT_COMMUNITIES_FOLLOW_LIST, JsonMapper.toJson(settings.defaultCommunitiesFollowList.value))
putString(PrefKeys.DEFAULT_FOLLOW_PACKS_FOLLOW_LIST, JsonMapper.toJson(settings.defaultFollowPacksFollowList.value))
putString(PrefKeys.DEFAULT_APP_RECOMMENDATIONS_FOLLOW_LIST, JsonMapper.toJson(settings.defaultAppRecommendationsFollowList.value))
val walletEntries = settings.nwcWallets.value.mapNotNull { it.denormalize() }
if (walletEntries.isNotEmpty()) {
@@ -467,6 +470,7 @@ object LocalPreferences {
putBoolean(PrefKeys.CALLS_ENABLED, settings.callsEnabled.value)
putBoolean(PrefKeys.ALWAYS_ON_NOTIFICATION_SERVICE, settings.alwaysOnNotificationService.value)
putBoolean(PrefKeys.SPLIT_NOTIFICATIONS_ENABLED, settings.splitNotificationsEnabled.value)
putBoolean(PrefKeys.SHOW_MESSAGES_IN_NOTIFICATIONS, settings.showMessagesInNotifications.value)
// Any account that reaches a save has its notification filter in its
// post-split meaning, so stamp it as migrated. This keeps the one-shot
// Global -> Selected rewrite from ever touching it again and preserves a
@@ -582,6 +586,7 @@ object LocalPreferences {
val callsEnabled = getBoolean(PrefKeys.CALLS_ENABLED, true)
val alwaysOnNotificationService = getBoolean(PrefKeys.ALWAYS_ON_NOTIFICATION_SERVICE, false)
val splitNotificationsEnabled = getBoolean(PrefKeys.SPLIT_NOTIFICATIONS_ENABLED, false)
val showMessagesInNotifications = getBoolean(PrefKeys.SHOW_MESSAGES_IN_NOTIFICATIONS, true)
val hasDonatedInVersion = getStringSet(PrefKeys.HAS_DONATED_IN_VERSION, null) ?: setOf()
val dismissedPollNoteIds = getStringSet(PrefKeys.DISMISSED_POLL_NOTE_IDS, null) ?: setOf()
val viewedPollResultNoteIdsStr = getString(PrefKeys.VIEWED_POLL_RESULT_NOTE_IDS, null)
@@ -727,6 +732,7 @@ object LocalPreferences {
defaultBrowseEmojiSetsFollowList = MutableStateFlow(followListPrefs.browseEmojiSets),
defaultCommunitiesFollowList = MutableStateFlow(followListPrefs.communities),
defaultFollowPacksFollowList = MutableStateFlow(followListPrefs.followPacks),
defaultAppRecommendationsFollowList = MutableStateFlow(followListPrefs.appRecommendations),
nwcWallets = MutableStateFlow(nwcWalletsLoaded.await().first),
clinkDebitWallets = MutableStateFlow(clinkDebitsLoaded.await()),
// Prefer the new unified default; migrate from the legacy NWC default;
@@ -742,6 +748,7 @@ object LocalPreferences {
hideNIP17WarningDialog = hideNIP17WarningDialog,
alwaysOnNotificationService = MutableStateFlow(alwaysOnNotificationService),
splitNotificationsEnabled = MutableStateFlow(splitNotificationsEnabled),
showMessagesInNotifications = MutableStateFlow(showMessagesInNotifications),
backupUserMetadata = latestUserMetadata.await(),
backupContactList = latestContactList.await(),
backupNIP65RelayList = latestNip65RelayList.await(),
@@ -815,6 +822,7 @@ object LocalPreferences {
val browseEmojiSets: TopFilter,
val communities: TopFilter,
val followPacks: TopFilter,
val appRecommendations: TopFilter,
)
/**
@@ -867,6 +875,7 @@ object LocalPreferences {
browseEmojiSets = parseTopFilterOrDefault(getString(PrefKeys.DEFAULT_BROWSE_EMOJI_SETS_FOLLOW_LIST, null), TopFilter.Global),
communities = parseTopFilterOrDefault(getString(PrefKeys.DEFAULT_COMMUNITIES_FOLLOW_LIST, null), TopFilter.AllFollows),
followPacks = parseTopFilterOrDefault(getString(PrefKeys.DEFAULT_FOLLOW_PACKS_FOLLOW_LIST, null), TopFilter.Global),
appRecommendations = parseTopFilterOrDefault(getString(PrefKeys.DEFAULT_APP_RECOMMENDATIONS_FOLLOW_LIST, null), TopFilter.Global),
)
private inline fun <reified T : Any> parseOrNull(value: String?): T? {
@@ -425,6 +425,8 @@ class Account(
scope = scope,
assembler = cashuWalletFilterAssembler(),
outboxRelaysFlow = outboxRelays.flow,
inboxRelaysFlow = notificationRelays.flow,
dmRelaysFlow = dmRelays.flow,
settings = settings,
okHttpClient = okHttpClientForMoney,
)
@@ -586,6 +588,11 @@ class Account(
val liveFollowPacksFollowLists: StateFlow<IFeedTopNavFilter> = topNavFilterFlow(settings.defaultFollowPacksFollowList)
val liveFollowPacksFollowListsPerRelay = OutboxLoaderState(liveFollowPacksFollowLists, cache, scope).flow
// App recommendations are read straight from LocalCache (no relay feed of its
// own), so only the in-memory author/tag matcher is needed here, not a
// per-relay outbox loader.
val liveAppRecommendationsFollowLists: StateFlow<IFeedTopNavFilter> = topNavFilterFlow(settings.defaultAppRecommendationsFollowList)
override fun isWriteable(): Boolean = settings.isWriteable()
suspend fun updateWarnReports(warnReports: Boolean): Boolean {
@@ -207,6 +207,7 @@ class AccountSettings(
val defaultBrowseEmojiSetsFollowList: MutableStateFlow<TopFilter> = MutableStateFlow(TopFilter.Global),
val defaultCommunitiesFollowList: MutableStateFlow<TopFilter> = MutableStateFlow(TopFilter.AllFollows),
val defaultFollowPacksFollowList: MutableStateFlow<TopFilter> = MutableStateFlow(TopFilter.Global),
val defaultAppRecommendationsFollowList: MutableStateFlow<TopFilter> = MutableStateFlow(TopFilter.Global),
val nwcWallets: MutableStateFlow<List<NwcWalletEntryNorm>> = MutableStateFlow(emptyList()),
val clinkDebitWallets: MutableStateFlow<List<ClinkDebitWalletEntryNorm>> = MutableStateFlow(emptyList()),
// The unified default spend rail (an NWC wallet OR a CLINK debit). Persisted under a
@@ -217,6 +218,7 @@ class AccountSettings(
var hideNIP17WarningDialog: Boolean = false,
val alwaysOnNotificationService: MutableStateFlow<Boolean> = MutableStateFlow(false),
val splitNotificationsEnabled: MutableStateFlow<Boolean> = MutableStateFlow(false),
val showMessagesInNotifications: MutableStateFlow<Boolean> = MutableStateFlow(true),
var backupUserMetadata: MetadataEvent? = null,
var backupContactList: ContactListEvent? = null,
var backupDMRelayList: ChatMessageRelayListEvent? = null,
@@ -295,6 +297,13 @@ class AccountSettings(
return newValue
}
fun toggleShowMessagesInNotifications(): Boolean {
val newValue = !showMessagesInNotifications.value
showMessagesInNotifications.tryEmit(newValue)
saveAccountSettings()
return newValue
}
// ---
// Zaps and Reactions
// ---
@@ -818,6 +827,17 @@ class AccountSettings(
}
}
fun changeDefaultAppRecommendationsFollowList(name: FeedDefinition) {
changeDefaultAppRecommendationsFollowList(name.code)
}
fun changeDefaultAppRecommendationsFollowList(name: TopFilter) {
if (defaultAppRecommendationsFollowList.value != name) {
defaultAppRecommendationsFollowList.tryEmit(name)
saveAccountSettings()
}
}
// ---
// language services
// ---
@@ -59,6 +59,7 @@ import com.vitorpamplona.quartz.experimental.edits.TextNoteModificationEvent
import com.vitorpamplona.quartz.experimental.ephemChat.chat.EphemeralChatEvent
import com.vitorpamplona.quartz.experimental.ephemChat.chat.RoomId
import com.vitorpamplona.quartz.experimental.ephemChat.list.EphemeralChatListEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.ExerciseTemplateEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.WorkoutRecordEvent
import com.vitorpamplona.quartz.experimental.interactiveStories.InteractiveStoryPrologueEvent
import com.vitorpamplona.quartz.experimental.interactiveStories.InteractiveStoryReadingStateEvent
@@ -4014,6 +4015,10 @@ object LocalCache : ILocalCache, ICacheProvider {
consumeRegularEvent(event, relay, wasVerified)
}
is ExerciseTemplateEvent -> {
consumeBaseReplaceable(event, relay, wasVerified)
}
is PaymentTargetsEvent -> {
consume(event, relay, wasVerified)
}
@@ -153,9 +153,11 @@ class CashuWalletOps(
val walletEvent = signer.sign(walletTemplate)
publish(walletEvent)
// Populate `relay` tags so senders know where to publish nutzaps —
// without these, they fall back to NIP-65 outbox and may miss our
// subscription scope on relays we don't read from.
// Populate `relay` tags so senders know where to publish nutzaps.
// Per NIP-61 these are the relays where the recipient reads incoming
// token events, so callers pass our inbox-side relays here (NIP-65
// outbox model). Without them, senders fall back to NIP-65 and may
// publish where we don't subscribe for inbound nutzaps.
val nutzapInfoTemplate =
NutzapInfoEvent.build(
mints = mints.map { NutzapMintTag(it, listOf("sat")) },
@@ -97,6 +97,8 @@ class CashuWalletState(
private val scope: CoroutineScope,
private val assembler: CashuWalletFilterAssembler,
private val outboxRelaysFlow: StateFlow<Set<NormalizedRelayUrl>>,
private val inboxRelaysFlow: StateFlow<Set<NormalizedRelayUrl>>,
private val dmRelaysFlow: StateFlow<Set<NormalizedRelayUrl>>,
private val settings: AccountSettings,
okHttpClient: (String) -> OkHttpClient,
) {
@@ -436,12 +438,31 @@ class CashuWalletState(
triggerAutoRedeem()
}
// Keep the relay subscription in sync with the outbox set.
// Keep the wallet subscription in sync with the relay sets it reads
// from. Following the NIP-65 outbox model, the two halves of the
// subscription read from different places:
// - our own NIP-60 events (wallet/token/history) are read back from
// our OUTBOX relays, where we published them;
// - inbound kind:9321 nutzaps are read from our INBOX set, since
// that is where other people deliver them. Per NIP-61 the source
// of truth for "where to send me nutzaps" is the `relay` tags in
// our own kind:10019 — and another client may have published that
// with relays unrelated to our NIP-65 lists — so we listen on the
// union of those plus our NIP-65 inbox + DM relays.
jobs +=
scope.launch(Dispatchers.IO) {
outboxRelaysFlow.collect { relays ->
syncSubscription(relays)
}
combine(
outboxRelaysFlow,
inboxRelaysFlow,
dmRelaysFlow,
_nutzapInfoEvent,
) { outbox, inbox, dm, info ->
CashuWalletQueryState(
pubkey = pubKey,
ownEventRelays = outbox,
inboxRelays = inbox + dm + (info?.relays() ?: emptyList()),
)
}.collect { syncSubscription(it) }
}
// Reactive incremental update: any new event arrival that matches our
@@ -504,17 +525,16 @@ class CashuWalletState(
// ============================================================
// Subscription management
// ============================================================
private fun syncSubscription(relays: Set<NormalizedRelayUrl>) {
private fun syncSubscription(next: CashuWalletQueryState) {
val previous = currentSubscription
if (relays.isEmpty()) {
if (next.ownEventRelays.isEmpty() && next.inboxRelays.isEmpty()) {
previous?.let { runCatching { assembler.unsubscribe(it) } }
currentSubscription = null
return
}
if (previous != null && previous.relays == relays) return // unchanged
if (previous == next) return // unchanged
previous?.let { runCatching { assembler.unsubscribe(it) } }
val next = CashuWalletQueryState(pubKey, relays)
currentSubscription = next
assembler.subscribe(next)
}
@@ -875,7 +895,11 @@ class CashuWalletState(
ops.publishWalletEvents(
mints = currentMints,
p2pkPrivkeyHex = manualPrivkeyHex?.takeIf { it.isNotBlank() },
nutzapRelays = outboxRelaysFlow.value.toList(),
// Advertise our NIP-65 inbox relays as the nutzap relays (NIP-65
// outbox model): senders publish kind:9321 where we read inbound
// events. We listen on a wider set (inbox + DM + these tags), but
// the kind:10019 default copies the inbox relay list, not outbox.
nutzapRelays = inboxRelaysFlow.value.toList(),
)
// The NUT-13 seed (derived from the P2PK key) is invalidated by
// applyEvents when the new kind:17375 round-trips in, so it re-derives
@@ -27,7 +27,11 @@ import com.vitorpamplona.amethyst.commons.richtext.RichTextViewerState
import com.vitorpamplona.amethyst.commons.richtext.UrlParser
object CachedRichTextParser {
private val richTextCache = LruCache<Int, RichTextViewerState>(50)
// Global across every feed. Sized to hold the active feed's visible + prefetched
// (see PrefetchFeedMedia) working set plus a few other feeds' recent entries, so
// pre-parsed bodies survive until the render reads them and feed switches don't
// thrash. Each entry is one note's parsed segments — typically single-digit KB.
private val richTextCache = LruCache<Int, RichTextViewerState>(500)
private val isMarkdownCache = LruCache<Int, Boolean>(200)
private fun hashCodeCache(
@@ -37,7 +41,14 @@ object CachedRichTextParser {
authorPubKey: String?,
): Int {
var result = content.hashCode()
result = 31 * result + tags.lists.hashCode()
// Content-addressed (memoized contentHash), not identity — `lists` is an
// Array<Array<String>>, so a fresh instance with the same tag content must
// map to the same entry. This lets an off-thread pre-parse (the feed media
// prefetcher) populate the exact entry the renderer later looks up, turning
// the scroll-time parse into a cache hit. The parse is a pure function of
// tag content, so equal content sharing one entry is correct. The hash is
// cached on the instance so this stays O(1)-amortized per tag list.
result = 31 * result + tags.contentHash()
if (callbackUri != null) {
result = 31 * result + callbackUri.hashCode()
}
@@ -69,6 +69,7 @@ import com.vitorpamplona.quartz.nip22Comments.CommentEvent
import com.vitorpamplona.quartz.nip23LongContent.LongTextNoteEvent
import com.vitorpamplona.quartz.nip25Reactions.ReactionEvent
import com.vitorpamplona.quartz.nip28PublicChat.message.ChannelMessageEvent
import com.vitorpamplona.quartz.nip30CustomEmoji.CustomEmoji
import com.vitorpamplona.quartz.nip34Git.issue.GitIssueEvent
import com.vitorpamplona.quartz.nip34Git.patch.GitPatchEvent
import com.vitorpamplona.quartz.nip54Wiki.WikiNoteEvent
@@ -174,7 +175,13 @@ class EventNotificationConsumer(
val accountHex = npubToHexOrNull(savedAccount.npub) ?: return@forEach
if (matchingNote != null) {
if (!event.isTaggedUser(accountHex)) return@forEach
// Public chat replies into my messages often omit the `p`
// tag; relax the gate for them (tagsAnEventByUser keeps it
// scoped to messages actually replying to me).
val taggedOrPublicChatReply =
event.isTaggedUser(accountHex) ||
NotificationFeedFilter.isNotifiablePublicChatReply(matchingNote, accountHex)
if (!taggedOrPublicChatReply) return@forEach
if (!NotificationFeedFilter.tagsAnEventByUser(matchingNote, accountHex)) return@forEach
}
@@ -251,12 +258,13 @@ class EventNotificationConsumer(
is CommentEvent -> notify(event, account)
is ChannelMessageEvent -> notify(event, account)
is PictureEvent,
is VideoNormalEvent,
is VideoShortEvent,
is VideoHorizontalEvent,
is VideoVerticalEvent,
is ChannelMessageEvent,
is PollEvent,
is GitPatchEvent,
is GitIssueEvent,
@@ -755,7 +763,12 @@ class EventNotificationConsumer(
// p-tag match already enforced by consumeFromCache; no redundant
// isTaggedUser re-check needed.
val reactedPostId = event.originalPost().firstOrNull() ?: return
// NIP-25: when a reaction carries multiple `e` tags (e.g. both the
// thread root and the replied-to note), the LAST one is the event
// actually being reacted to. Using the first tag would surface the
// root in the tray when the like was really on a reply. This matches
// the in-app card, which resolves the target via replyTo.lastOrNull().
val reactedPostId = event.originalPost().lastOrNull() ?: return
val reactedNote = LocalCache.checkGetOrCreateNote(reactedPostId)
// Drop reactions on muted threads, hidden authors, etc.
@@ -766,14 +779,24 @@ class EventNotificationConsumer(
val userPicture = author.profilePicture()
val reactionContent = event.content
val reactionSymbol =
when {
reactionContent == ReactionEvent.LIKE || reactionContent.isBlank() -> "\uD83E\uDD19"
reactionContent == ReactionEvent.DISLIKE -> "\uD83D\uDC4E"
else -> reactionContent
}
val title = "$reactionSymbol $user"
// NIP-30 custom emoji: content is ":shortcode:" backed by an ["emoji", shortcode, url]
// tag. The image can't be rendered as text, so it is surfaced as a badge on the author's
// avatar (see sendReactionNotification) and the title keeps just the author's name.
val customEmojiUrl = CustomEmoji.createEmojiMap(event.tags)[reactionContent]
val title =
if (customEmojiUrl != null) {
user
} else {
val reactionSymbol =
when {
reactionContent == ReactionEvent.LIKE || reactionContent.isBlank() -> "\uD83E\uDD19"
reactionContent == ReactionEvent.DISLIKE -> "\uD83D\uDC4E"
else -> reactionContent
}
"$reactionSymbol $user"
}
val reactedContent =
reactedNote
@@ -813,6 +836,7 @@ class EventNotificationConsumer(
userPicture,
noteUri,
applicationContext,
emojiUrl = customEmojiUrl,
)
}
@@ -865,6 +889,32 @@ class EventNotificationConsumer(
notifyReply(event, account, parentContent, threadRoot)
}
private suspend fun notify(
event: ChannelMessageEvent,
account: Account,
) {
Log.d(TAG, "New Public Chat Message to Notify")
// Age + self-author gates run centrally in dispatchForAccount.
val note = LocalCache.getNoteIfExists(event.id) ?: return
// A reply into one of my messages in this channel — even when the
// sender didn't p-tag me. Render it as a reply (threaded + inline
// reply action) grouped by channel so a busy room collapses into one
// notification instead of spamming. Falls back to a plain mention when
// I'm only p-tagged (a citation, not a reply to my message).
if (NotificationFeedFilter.isNotifiablePublicChatReply(note, account.signer.pubKey)) {
val parentContent =
note.replyTo
?.lastOrNull()
?.event
?.content
val threadRoot = event.channelId() ?: event.id
notifyReply(event, account, parentContent, threadRoot)
} else {
notifyMention(event, account)
}
}
private suspend fun notifyReply(
event: Event,
account: Account,
@@ -203,7 +203,14 @@ class NotificationDispatcher(
// always miss for replies into addressable posts.
val note = LocalCache.getNoteIfExists(event) ?: return@predicate false
pubkeys.any { pubkey ->
event.isTaggedUser(pubkey) &&
// Public chat replies into my own messages often
// omit the `p` tag; relax the gate for them (the
// tagsAnEventByUser check still scopes it to
// messages actually replying to me).
(
event.isTaggedUser(pubkey) ||
NotificationFeedFilter.isNotifiablePublicChatReply(note, pubkey)
) &&
NotificationFeedFilter.tagsAnEventByUser(note, pubkey)
}
}
@@ -29,11 +29,13 @@ import androidx.core.content.ContextCompat
import com.vitorpamplona.amethyst.Amethyst
import com.vitorpamplona.amethyst.LocalPreferences
import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.accountsCache.AccountCacheState
import com.vitorpamplona.quartz.nip01Core.hints.EventHintBundle
import com.vitorpamplona.quartz.nip01Core.tags.people.PTag
import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent
import com.vitorpamplona.quartz.nip17Dm.messages.ChatMessageEvent
import com.vitorpamplona.quartz.nip22Comments.CommentEvent
import com.vitorpamplona.quartz.nip89AppHandlers.clientTag.isClient
import com.vitorpamplona.quartz.utils.Log
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -198,8 +200,19 @@ class NotificationReplyReceiver : BroadcastReceiver() {
val targetEvent = LocalCache.getNoteIfExists(targetEventId)?.event ?: return
val template =
when (targetEvent) {
is TextNoteEvent -> {
when {
// A brand-new Amethyst kind-1 thread root is replied to with a NIP-22
// kind 1111 Comment instead of a kind 1 reply.
targetEvent is TextNoteEvent &&
targetEvent.isNewThread() &&
targetEvent.isClient(AccountCacheState.CLIENT_TAG_NAME) -> {
CommentEvent.replyBuilder(
msg = replyText,
replyingTo = EventHintBundle(targetEvent),
)
}
targetEvent is TextNoteEvent -> {
TextNoteEvent.build(
note = replyText,
replyingTo = EventHintBundle(targetEvent),
@@ -20,12 +20,16 @@
*/
package com.vitorpamplona.amethyst.service.notifications
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.RectF
import android.graphics.drawable.BitmapDrawable
import android.service.notification.StatusBarNotification
import androidx.core.app.NotificationCompat
@@ -40,6 +44,7 @@ import coil3.request.allowHardware
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.MainActivity
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@@ -221,6 +226,7 @@ object NotificationUtils {
pictureUrl: String?,
uri: String,
applicationContext: Context,
emojiUrl: String? = null,
) {
getOrCreateReactionChannel(applicationContext)
val channelId = stringRes(applicationContext, R.string.app_notification_reactions_channel_id)
@@ -231,6 +237,7 @@ object NotificationUtils {
messageTitle = messageTitle,
time = time,
pictureUrl = pictureUrl,
badgeUrl = emojiUrl,
uri = uri,
channelId = channelId,
notificationGroupKey = REACTION_GROUP_KEY,
@@ -423,6 +430,36 @@ object NotificationUtils {
}
}
/**
* Draws the badge image (e.g. a NIP-30 custom-emoji reaction) onto the bottom-right corner
* of the base avatar. Returns the base unchanged if the badge can't be loaded, or the badge
* alone if there is no base avatar.
*/
private suspend fun overlayBadge(
base: Bitmap?,
badgeUrl: String,
applicationContext: Context,
): Bitmap? {
val badge = loadBitmap(badgeUrl, applicationContext) ?: return base
if (base == null) return badge
return withContext(Dispatchers.Default) {
val result = base.copy(base.config ?: Bitmap.Config.ARGB_8888, true)
val canvas = Canvas(result)
val badgeSize = minOf(result.width, result.height) * 0.45f
val dest =
RectF(
result.width - badgeSize,
result.height - badgeSize,
result.width.toFloat(),
result.height.toFloat(),
)
val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply { isFilterBitmap = true }
canvas.drawBitmap(badge, null, dest, paint)
result
}
}
private suspend fun NotificationManager.sendDMNotificationStyled(
id: String,
messageBody: String,
@@ -625,6 +662,7 @@ object NotificationUtils {
summaryText: String,
applicationContext: Context,
inlineReply: InlineReplyTarget? = null,
badgeUrl: String? = null,
) {
val notId = id.hashCode()
@@ -632,6 +670,10 @@ object NotificationUtils {
val bitmap = pictureUrl?.let { loadBitmap(it, applicationContext) }
// For custom-emoji (NIP-30) reactions, the emoji is an image URL that can't render
// as text in the notification, so overlay it as a badge on the author's avatar.
val largeIcon = badgeUrl?.let { overlayBadge(bitmap, it, applicationContext) } ?: bitmap
val contentIntent =
Intent(applicationContext, MainActivity::class.java).apply { data = uri.toUri() }
@@ -662,7 +704,7 @@ object NotificationUtils {
.setContentTitle(messageTitle)
.setContentText(messageBody)
.setStyle(NotificationCompat.BigTextStyle().bigText(messageBody))
.setLargeIcon(bitmap)
.setLargeIcon(largeIcon)
.setContentIntent(contentPendingIntent)
.setPublicVersion(builderPublic.build())
.setPriority(NotificationCompat.PRIORITY_HIGH)
@@ -751,4 +793,35 @@ object NotificationUtils {
fun NotificationManager.cancelNotifications() {
cancelAll()
}
/**
* Dismisses the tray notification posted for [eventId] — used to auto-clear a
* notification once the user reads the underlying event in-app.
*
* Per-event notifications are keyed by `id.hashCode()` (see [sendNotification]
* and [sendDMNotificationStyled]), so hashing the same event id targets exactly
* the notification posted for it. Cancelling an id that isn't currently shown is
* a harmless no-op. After removing the child, any group summary left without
* children is cancelled too so the tray doesn't keep an empty summary around.
*/
fun NotificationManager.dismissNotificationForEvent(eventId: HexKey) {
val notId = eventId.hashCode()
// Most events the user reads never had a tray notification (regular feed
// items), so bail out before touching anything when nothing is posted for it.
if (activeNotifications.none { it.id == notId }) return
cancel(notId)
cancelChildlessGroupSummaries()
}
private fun NotificationManager.cancelChildlessGroupSummaries() {
val active = activeNotifications
for (summary in active) {
if (summary.notification.flags and Notification.FLAG_GROUP_SUMMARY == 0) continue
val group = summary.notification.group ?: continue
val hasChildren = active.any { it.id != summary.id && it.notification.group == group }
if (!hasChildren) cancel(summary.id)
}
}
}
@@ -75,6 +75,14 @@ class OkHttpClientFactory(
.connectionPool(connectionPool)
.dns(dns)
.eventListenerFactory(MediaCallEventListenerFactory(dispatcher, connectionPool, dns))
// Some media hosts (e.g. blossom.primal.net) silently drop idle HTTP/2
// connections between the bursts of a feed scroll. Without a keepalive
// ping, OkHttp can pull such a dead connection from the 5-min pool and
// the request stalls until the read timeout (30s wifi / 90s mobile),
// which shows up as "the first image after a pause takes forever".
// An HTTP/2 ping detects the dead connection in seconds and lets
// retryOnConnectionFailure re-issue the request on a fresh one.
.pingInterval(Duration.ofSeconds(HTTP2_PING_INTERVAL_SECS))
.followRedirects(true)
.followSslRedirects(true)
.addInterceptor(DefaultContentTypeInterceptor(userAgent))
@@ -128,4 +136,11 @@ class OkHttpClientFactory(
}
fun buildLocalSocksProxy(port: Int?) = Proxy(Proxy.Type.SOCKS, InetSocketAddress("127.0.0.1", port ?: DEFAULT_SOCKS_PORT))
companion object {
// HTTP/2 keepalive ping for pooled media connections. Short enough to
// evict a silently-dropped connection well before the read timeout would
// otherwise stall a request for the full 30s/90s.
const val HTTP2_PING_INTERVAL_SECS: Long = 10
}
}
@@ -150,9 +150,15 @@ fun observeUserBanner(
fun observeUserPicture(
user: User,
accountViewModel: AccountViewModel,
subscribe: Boolean = true,
): State<String?> {
// Subscribe in the relay for changes in the metadata of this user.
UserFinderFilterAssemblerSubscription(user, accountViewModel)
// Callers that already hold a single shared subscription for the same user
// (e.g. an author avatar that also observes the contact-card score) can pass
// subscribe = false to avoid setting up a redundant relay subscription.
if (subscribe) {
UserFinderFilterAssemblerSubscription(user, accountViewModel)
}
// Subscribe in the LocalCache for changes that arrive in the device
val flow =
@@ -476,9 +482,14 @@ fun observeUserIsFollowingChannel(
fun observeUserContactCardsScore(
user: User,
accountViewModel: AccountViewModel,
subscribe: Boolean = true,
): State<Int?> {
// Subscribe in the relay for changes in the metadata of this user.
UserFinderFilterAssemblerSubscription(user, accountViewModel)
// See observeUserPicture: pass subscribe = false when a shared subscription
// for the same user already exists.
if (subscribe) {
UserFinderFilterAssemblerSubscription(user, accountViewModel)
}
// Subscribe in the LocalCache for changes that arrive in the device
val flow = remember(user) { user.cards().rankFlow(accountViewModel.account.trustProviderList) }
@@ -109,7 +109,10 @@ fun RenderFeedContentState(
when (state) {
is FeedState.Empty -> onEmpty()
is FeedState.FeedError -> onError(state.errorMessage)
is FeedState.Loaded -> onLoaded(state)
is FeedState.Loaded -> {
PrefetchLoadedFeedMedia(state, listState, accountViewModel)
onLoaded(state)
}
is FeedState.Loading -> onLoading()
}
}
@@ -0,0 +1,439 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.ui.feeds
import android.content.Context
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.grid.LazyGridState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.platform.LocalContext
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.imageLoader
import coil3.request.ImageRequest
import coil3.request.SuccessResult
import com.vitorpamplona.amethyst.commons.model.toImmutableListOfLists
import com.vitorpamplona.amethyst.commons.richtext.MediaUrlImage
import com.vitorpamplona.amethyst.commons.richtext.MediaUrlVideo
import com.vitorpamplona.amethyst.commons.richtext.RichTextParser
import com.vitorpamplona.amethyst.commons.richtext.RichTextViewerState
import com.vitorpamplona.amethyst.commons.richtext.UrlParser
import com.vitorpamplona.amethyst.commons.ui.feeds.FeedState
import com.vitorpamplona.amethyst.model.MediaAspectRatioCache
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.UrlCachedPreviewer
import com.vitorpamplona.amethyst.service.CachedRichTextParser
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent
import com.vitorpamplona.quartz.nip14Subject.subject
import com.vitorpamplona.quartz.nip22Comments.CommentEvent
import com.vitorpamplona.quartz.nip71Video.image
import com.vitorpamplona.quartz.nip92IMeta.IMetaTag
import com.vitorpamplona.quartz.nip92IMeta.imetas
import com.vitorpamplona.quartz.nip94FileMetadata.tags.MimeTypeTag
import com.vitorpamplona.quartz.nip94FileMetadata.tags.UrlTag
import kotlinx.collections.immutable.ImmutableList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.withContext
import java.util.concurrent.ConcurrentHashMap
/** How many notes on each side of the viewport to warm. */
private const val PREFETCH_RADIUS = 3
private const val MIME_TYPE_KEY = "m"
private const val DIM_KEY = "dim"
/**
* Warms the feed notes just outside the viewport — on **both** sides, so scrolling
* either direction is covered — off the main thread, so they are ready by the time
* the user reaches them. For each note [warm] does three things:
*
* 1. **Pre-parses** the rich-text body into [CachedRichTextParser]'s shared cache
* using the exact same key the renderer will use, so the scroll-time
* composition becomes a cache hit instead of parsing on the UI thread. This is
* only possible for kinds whose render key we can reproduce (text notes and
* comments); other kinds still get their media/links prefetched (below), just
* without the render-cache warm.
* 2. **Prefetches images** — inline content images and video poster frames, from
* both NIP-92 imeta tags (every kind) and the body — into Coil's cache (gated
* on [AccountViewModel] `showImages()`), recording each decoded aspect ratio so
* the composable reserves the right space on first layout (no jump).
* 3. **Warms OpenGraph/link previews** for non-media URLs via [UrlCachedPreviewer]
* (gated on `showUrlPreview()`), so link cards render instantly.
*
* A `warmed` set keeps back-and-forth scrolling cheap: a note already processed is
* skipped entirely. `collectLatest` also cancels a stale pass as soon as the
* visible range changes. The only main-thread cost is reading the visible item
* keys in the snapshot flow.
*
* Video *bytes* are deliberately not prefetched — they are large, often HLS
* (whose prefix can't be cleanly pre-cached), and the player pool already starts
* fast once a video is on screen. Warming the poster covers the visible card.
*/
@Composable
fun PrefetchFeedMedia(
listState: LazyListState,
notes: ImmutableList<Note>,
accountViewModel: AccountViewModel,
radius: Int = PREFETCH_RADIUS,
) {
val visibleEnds = remember(listState) { listState.visibleEnds() }
PrefetchVisibleMedia(listState, visibleEnds, notes, accountViewModel, radius)
}
/** Grid variant: identical behavior, driven by a [LazyGridState] (galleries, discover, products). */
@Composable
fun PrefetchFeedMedia(
gridState: LazyGridState,
notes: ImmutableList<Note>,
accountViewModel: AccountViewModel,
radius: Int = PREFETCH_RADIUS,
) {
val visibleEnds = remember(gridState) { gridState.visibleEnds() }
PrefetchVisibleMedia(gridState, visibleEnds, notes, accountViewModel, radius)
}
@Composable
private fun PrefetchVisibleMedia(
stateKey: Any,
visibleEnds: Flow<VisibleEnds>,
notes: ImmutableList<Note>,
accountViewModel: AccountViewModel,
radius: Int,
) {
val context = LocalContext.current
val currentNotes by rememberUpdatedState(notes)
val warmed = remember(stateKey) { ConcurrentHashMap.newKeySet<String>() }
LaunchedEffect(stateKey, accountViewModel) {
visibleEnds.collectLatest { ends ->
withContext(Dispatchers.Default) {
currentNotes.notesAround(ends, radius).forEach { note ->
if (note.idHex !in warmed) {
note.warm(context, accountViewModel)
warmed.add(note.idHex)
}
}
}
}
}
}
/**
* Prefetches media for a loaded feed. The shared entry point used by the feed
* dispatchers (`RenderFeedContentState` and `RenderFeedState`), so every list feed
* that routes through them gets prefetching without per-screen wiring.
*/
@Composable
fun PrefetchLoadedFeedMedia(
loaded: FeedState.Loaded,
listState: LazyListState,
accountViewModel: AccountViewModel,
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchFeedMedia(listState, items.list, accountViewModel)
}
/** Grid variant of [PrefetchLoadedFeedMedia] for [LazyGridState]-backed feeds. */
@Composable
fun PrefetchLoadedFeedMedia(
loaded: FeedState.Loaded,
gridState: LazyGridState,
accountViewModel: AccountViewModel,
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchFeedMedia(gridState, items.list, accountViewModel)
}
/** The keys (note `idHex`) of the first and last visible feed items. */
private data class VisibleEnds(
val firstKey: String?,
val lastKey: String?,
)
/** Emits the visible range ends, once per change. */
private fun LazyListState.visibleEnds(): Flow<VisibleEnds> =
snapshotFlow {
val visible = layoutInfo.visibleItemsInfo
VisibleEnds(visible.firstOrNull()?.key as? String, visible.lastOrNull()?.key as? String)
}.distinctUntilChanged()
/** Grid equivalent of [visibleEnds]. */
private fun LazyGridState.visibleEnds(): Flow<VisibleEnds> =
snapshotFlow {
val visible = layoutInfo.visibleItemsInfo
VisibleEnds(visible.firstOrNull()?.key as? String, visible.lastOrNull()?.key as? String)
}.distinctUntilChanged()
/** Up to [radius] notes immediately before the first visible and after the last visible. */
private fun List<Note>.notesAround(
ends: VisibleEnds,
radius: Int,
): List<Note> = notesBefore(ends.firstKey, radius) + notesAfter(ends.lastKey, radius)
private fun List<Note>.notesBefore(
key: String?,
count: Int,
): List<Note> {
val idx = key?.let { k -> indexOfFirst { it.idHex == k } } ?: -1
if (idx <= 0) return emptyList()
return subList(maxOf(0, idx - count), idx)
}
private fun List<Note>.notesAfter(
key: String?,
count: Int,
): List<Note> {
val idx = key?.let { k -> indexOfFirst { it.idHex == k } } ?: -1
if (idx < 0) return emptyList()
return subList(minOf(idx + 1, size), minOf(idx + 1 + count, size))
}
/** Prefetches this note's media into Coil and warms its link previews, honoring the data-saver gates. */
private fun Note.warm(
context: Context,
accountViewModel: AccountViewModel,
) {
val targets = collectWarmTargets() ?: return
if (accountViewModel.settings.showImages()) {
targets.forEachImage(context::prefetchImage)
}
if (accountViewModel.settings.showUrlPreview()) {
targets.links.forEach { url ->
if (UrlCachedPreviewer.cache.get(url) == null) {
accountViewModel.urlPreview(url) {}
}
}
}
}
/** The set of URLs worth warming ahead of a note scrolling into view. */
private class WarmTargets {
// image URL -> a video URL whose layout box should also be seeded from this
// image's (poster's) decoded aspect ratio, or null for a plain image.
private val images = LinkedHashMap<String, String?>()
val links = LinkedHashSet<String>()
fun image(url: String) {
images.putIfAbsent(url, null)
}
/** A video poster: warmed as an image, and its decoded ratio also seeds [videoUrl]'s box (if non-null). */
fun videoPoster(
posterUrl: String,
videoUrl: String?,
) {
// Never downgrade an existing video association back to null.
images[posterUrl] = videoUrl ?: images[posterUrl]
}
fun link(url: String) {
links.add(url)
}
fun forEachImage(action: (url: String, videoUrlForDims: String?) -> Unit) {
images.forEach { (url, videoUrl) -> action(url, videoUrl) }
}
/** Harvest media and links from a fully parsed rich-text body. */
fun harvest(state: RichTextViewerState) {
state.mediaList.forEach { media ->
when (media) {
is MediaUrlImage -> image(media.url)
is MediaUrlVideo ->
media.artworkUri?.let { poster ->
videoPoster(poster, media.url.takeIf { media.dim == null })
}
}
}
state.urlSet.withScheme.forEach { url ->
if (!RichTextParser.isImageOrVideoUrl(url)) link(url)
}
}
/**
* Lightweight discovery for kinds we don't render-warm: pull http(s) URLs from
* the body and classify them by extension. A bare content video has no poster
* we can cheaply warm, so it is skipped.
*/
fun harvestContentUrls(content: String) {
UrlParser().parseValidUrls(content).withScheme.forEach { url ->
when {
RichTextParser.isImageUrl(url) -> image(url)
RichTextParser.isVideoUrl(url) -> Unit
else -> link(url)
}
}
}
/**
* Adds NIP-94 file-header media: blobs declared as top-level `url` tags (not
* imeta), as used by FileHeaderEvent and the gallery/file kinds. Only image
* files are prefetched — detected by the URL extension or the event's top-level
* `m` mime type (a hashed URL may carry no extension). The decode listener
* records their dims like any other image.
*/
fun addFileHeaderMedia(event: Event) {
val urls = event.tags.mapNotNull(UrlTag::parse)
if (urls.isEmpty()) return
val imageMime = event.tags.firstNotNullOfOrNull(MimeTypeTag::parse)?.startsWith("image/") == true
urls.forEach { url ->
if (imageMime || RichTextParser.isImageUrl(url)) image(url)
}
}
}
/**
* Collects everything worth warming for this note. Reads NIP-92 imeta tags (every
* kind), then the free-text body: text notes and comments go through the shared
* render cache — which both warms the renderer and yields a fully classified body
* — while every other kind gets a cheap URL scan. Returns null only when the note
* has no event.
*/
private fun Note.collectWarmTargets(): WarmTargets? {
val ev = event ?: return null
val targets = WarmTargets()
// Structured media declared in NIP-92 imeta tags (text-note attachments, and the
// kinds whose typed accessors wrap imetas() — Picture, Video). Video imeta carries
// its poster in the `image` field.
ev.tags.imetas().forEach { meta ->
if (meta.isImage()) targets.image(meta.url)
meta.image()?.forEach { poster -> targets.videoPoster(poster, meta.videoUrlForPosterDims()) }
}
// NIP-94 file-header convention: the blob is a top-level `url` tag with sibling
// `m`/`dim`, not imeta (FileHeaderEvent and the gallery/file kinds). The generic
// imetas() above misses these entirely.
targets.addFileHeaderMedia(ev)
// Free-text body. The reproducible-key kinds parse through the shared cache
// (which also warms the render); everything else is scanned for URLs only.
val rendered = warmRenderCache(ev)
if (rendered != null) {
targets.harvest(rendered)
} else {
targets.harvestContentUrls(ev.content)
}
return targets
}
/**
* Parses the body through [CachedRichTextParser] so the result lands in the exact
* entry the composition later looks up — turning the scroll-time parse into a cache
* hit. Returns the parsed state, or null when we can't reproduce the renderer's key.
*
* Deliberately limited to text notes and comments. The cache key is
* `(content, tags, callbackUri, authorPubKey)`, and each renderer passes its own
* shape: Picture uses `EmptyTagList`, Highlight uses `EmptyTagList` + `null`
* callbackUri, Video/Poll/Git pass derived content vars, etc. We can only reproduce
* the key for these two kinds (verified to hit at runtime). Parsing the others with
* a guessed key would miss at render time *and* pollute this shared cache with dead
* entries — evicting the text-note entries that do hit — so it would be a net loss.
* Their media and links are still prefetched via [WarmTargets.harvestContentUrls].
*/
private fun Note.warmRenderCache(ev: Event): RichTextViewerState? {
val body =
when (ev) {
is TextNoteEvent -> {
// Matches RenderTextEvent: a subject is prepended when not already in the body.
val subject = ev.subject()?.ifBlank { null }
if (subject != null && !ev.content.contains(subject, ignoreCase = true)) {
"$subject\n\n${ev.content}"
} else {
ev.content
}
}
is CommentEvent -> ev.content
else -> return null
}
val tags = ev.tags.toImmutableListOfLists()
// callbackUri = note.toNostrUri(), authorPubKey = null — the values the feed passes.
return CachedRichTextParser.parseText(body, tags, toNostrUri(), null)
}
/** Enqueues an image prefetch that also records its decoded aspect ratio. */
private fun Context.prefetchImage(
url: String,
videoUrlForDims: String?,
) {
runCatching {
imageLoader.enqueue(
ImageRequest
.Builder(this)
.data(url)
.listener(CaptureAspectRatio(url, videoUrlForDims))
.build(),
)
}
}
/**
* Records the decoded aspect ratio of a prefetched image so the composable can
* reserve the right space on first layout (no jump) even when the note carries no
* imeta `dim` — the renderer reads `MediaAspectRatioCache.get(url)` as its
* fallback. We decode for the cache warm anyway, so this is essentially free.
*
* For a video poster, [videoUrlForDims] is the video URL; its box is seeded from
* the poster's ratio (a poster is a frame of the video), but only when nothing is
* cached yet, so we never stomp a real ratio. ExoPlayer's onVideoSizeChanged
* corrects it to the exact size once the video plays.
*/
private class CaptureAspectRatio(
private val imageUrl: String,
private val videoUrlForDims: String?,
) : ImageRequest.Listener {
override fun onSuccess(
request: ImageRequest,
result: SuccessResult,
) {
val w = result.image.width
val h = result.image.height
MediaAspectRatioCache.add(imageUrl, w, h)
if (videoUrlForDims != null && MediaAspectRatioCache.get(videoUrlForDims) == null) {
MediaAspectRatioCache.add(videoUrlForDims, w, h)
}
}
}
/** The video URL this imeta's poster should seed dims for, or null when the video declares its own dim. */
private fun IMetaTag.videoUrlForPosterDims(): String? = url.takeIf { properties[DIM_KEY].isNullOrEmpty() }
/**
* True only for image blobs. A missing mime type falls back to the URL extension;
* we never treat video imeta as an image (its poster is warmed separately).
*/
private fun IMetaTag.isImage(): Boolean {
val mimeType = properties[MIME_TYPE_KEY]?.firstOrNull()
return mimeType?.startsWith("image/") ?: RichTextParser.isImageUrl(url)
}
@@ -24,6 +24,7 @@ import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
import androidx.compose.ui.input.nestedscroll.NestedScrollSource
import androidx.compose.ui.unit.Velocity
import kotlin.math.abs
/**
* Scroll-linked connection that hides/reveals the top and bottom bars together.
@@ -43,10 +44,16 @@ import androidx.compose.ui.unit.Velocity
* - onPostFling snaps a mid-way bar to the nearest edge, using the fling's remaining
* velocity as the spring's initial velocity so the settle feels continuous. No velocity
* is returned upward to avoid phantom scrolls on parent containers.
* - Hiding tracks the finger 1:1, but revealing is damped by [REVEAL_SENSITIVITY]. Once the
* bars are hidden, the small reverse drag a finger naturally makes when it catches/stops a
* fast scroll would otherwise be enough to snap the chrome (and the OS status bar) back.
* Damping the reveal direction makes bringing the bars back a more deliberate gesture.
* - Both hiding and revealing track the finger 1:1. The bar offset must equal the content's
* scroll offset so the bar's bottom edge stays glued to the first item's top edge; any
* asymmetry (e.g. a damped reveal) leaves the bar lagging behind the content and opens a
* blank band between the bar and the first item when the list returns to the top.
*
* Making the reveal a *deliberate* gesture — so the tiny reverse drag a finger makes when it
* catches/stops a fast scroll doesn't pop the chrome back — is handled without breaking that
* 1:1 invariant: a partial reveal that doesn't cross the halfway point is snapped back to the
* hidden edge by [DisappearingBarState.settleToNearestEdge] on fling/lift, and the binary OS
* status bar is debounced by the show/hide hysteresis in the scaffold.
*/
class DisappearingBarNestedScroll(
private val state: DisappearingBarState,
@@ -60,7 +67,10 @@ class DisappearingBarNestedScroll(
): Offset {
if (!canScroll()) return Offset.Zero
val totalY = consumed.y + available.y
if (totalY == 0f) return Offset.Zero
// Dead-zone: ignore sub-pixel jitter so the bars (and the binary status-bar toggle that
// tracks their collapse fraction) don't twitch on scroll noise. Kept symmetric and tiny so
// it never makes the reveal lag the content enough to open a visible gap.
if (abs(totalY) < MIN_SCROLL_DELTA) return Offset.Zero
// If the list did not consume any scroll and the bars are fully visible, treat
// this as a non-scrollable list and keep the bars in place. Without this, a tiny
@@ -90,19 +100,18 @@ class DisappearingBarNestedScroll(
private fun applyDelta(deltaY: Float) {
val topLimit = state.topHeightLimit
val bottomLimit = state.bottomHeightLimit
// Positive delta reveals the bars; negative delta hides them. Hiding stays 1:1 with the
// finger, while revealing is damped so a stray reverse drag doesn't bring the chrome back.
val effectiveDelta = if (deltaY > 0f) deltaY * REVEAL_SENSITIVITY else deltaY
state.topHeightOffset = (state.topHeightOffset + effectiveDelta).coerceIn(-topLimit, 0f)
state.bottomHeightOffset = (state.bottomHeightOffset + effectiveDelta).coerceIn(-bottomLimit, 0f)
// 1:1 in both directions: the bar offset mirrors the content scroll so the bar stays glued
// to the first item. Deliberate reveal is enforced on settle, not by damping the delta here.
state.topHeightOffset = (state.topHeightOffset + deltaY).coerceIn(-topLimit, 0f)
state.bottomHeightOffset = (state.bottomHeightOffset + deltaY).coerceIn(-bottomLimit, 0f)
}
companion object {
/**
* Fraction of scroll distance applied when revealing the bars (1.0 = same rate as hiding).
* Lower values require a more deliberate downward scroll to bring the chrome back, so the
* tiny reverse movement of a finger stopping a fast scroll no longer pops the bars open.
* Sub-pixel dead-zone: scroll attempts smaller than this are ignored so jitter doesn't nudge
* the bars. Tiny on purpose — large enough to swallow fractional noise, small enough that the
* bar offset never measurably lags the content scroll.
*/
const val REVEAL_SENSITIVITY = 0.5f
const val MIN_SCROLL_DELTA = 0.5f
}
}
@@ -46,8 +46,46 @@ class DisappearingBarState(
initialTopHeightOffset: Float = 0f,
initialBottomHeightOffset: Float = 0f,
) {
var topHeightOffset by mutableFloatStateOf(initialTopHeightOffset)
var bottomHeightOffset by mutableFloatStateOf(initialBottomHeightOffset)
private var _topHeightOffset by mutableFloatStateOf(initialTopHeightOffset)
private var _bottomHeightOffset by mutableFloatStateOf(initialBottomHeightOffset)
/**
* Latches that record whether each bar has been driven all the way to its hidden edge by real
* scrolling since it was last fully in view. The settle reads them to tell a deliberate hide —
* where the content has scrolled at least a full bar height, so snapping the bar fully hidden
* leaves content (not a blank band) in the slot it vacates — apart from a small near-top
* collapse, where snapping hidden would expose the background because the content hasn't
* scrolled far enough to fill the bar's slot.
*/
private var topReachedHiddenEdge = false
private var bottomReachedHiddenEdge = false
var topHeightOffset: Float
get() = _topHeightOffset
set(value) {
_topHeightOffset = value
updateLatch(value, topHeightLimit) { topReachedHiddenEdge = it }
}
var bottomHeightOffset: Float
get() = _bottomHeightOffset
set(value) {
_bottomHeightOffset = value
updateLatch(value, bottomHeightLimit) { bottomReachedHiddenEdge = it }
}
private inline fun updateLatch(
offset: Float,
limit: Float,
set: (Boolean) -> Unit,
) {
if (limit <= 0f) return
if (offset >= 0f) {
set(false)
} else if (offset <= -limit) {
set(true)
}
}
var topHeightLimit: Float = 0f
set(value) {
@@ -76,8 +114,8 @@ class DisappearingBarState(
*/
suspend fun settleToNearestEdge(initialVelocityY: Float = 0f) {
coroutineScope {
launch { settleOne({ topHeightOffset }, topHeightLimit, initialVelocityY) { topHeightOffset = it } }
launch { settleOne({ bottomHeightOffset }, bottomHeightLimit, initialVelocityY) { bottomHeightOffset = it } }
launch { settleOne({ topHeightOffset }, topHeightLimit, topReachedHiddenEdge, initialVelocityY) { topHeightOffset = it } }
launch { settleOne({ bottomHeightOffset }, bottomHeightLimit, bottomReachedHiddenEdge, initialVelocityY) { bottomHeightOffset = it } }
}
}
@@ -94,6 +132,7 @@ class DisappearingBarState(
private suspend fun settleOne(
get: () -> Float,
limit: Float,
canFullyHide: Boolean,
initialVelocityY: Float,
set: (Float) -> Unit,
) {
@@ -105,6 +144,11 @@ class DisappearingBarState(
val positionBiasToHide = -current > limit / 2f
val target =
when {
// Snapping to the hidden edge is only safe once the bar has actually been scrolled
// there (canFullyHide): the content has then moved at least a full bar height and
// fills the slot the bar vacates. From a small near-top collapse it hasn't, so
// snapping hidden would open a blank band — settle back into view instead.
!canFullyHide -> 0f
initialVelocityY < -VELOCITY_BIAS_THRESHOLD -> -limit
initialVelocityY > VELOCITY_BIAS_THRESHOLD -> 0f
positionBiasToHide -> -limit
@@ -142,10 +186,14 @@ class DisappearingBarState(
companion object {
private const val VELOCITY_BIAS_THRESHOLD = 200f
// Bounce-free so the chrome never wobbles past its edge, but stiff enough to feel like a
// quick native snap rather than a slow float once the finger lifts. Overshoot from a strong
// initial velocity is still caught by the bounds in animateOne, so a higher stiffness here
// only affects how briskly the bar resolves to its edge.
private val SETTLE_SPRING =
spring<Float>(
dampingRatio = Spring.DampingRatioNoBouncy,
stiffness = Spring.StiffnessMediumLow,
stiffness = Spring.StiffnessMedium,
)
val Saver: Saver<DisappearingBarState, *> =
@@ -0,0 +1,66 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.ui.note
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
/**
* The notification galleries (reactions, zaps, nutzaps, boosts) render up to 30
* author avatars each. A couple of the inputs to every avatar are *account-global*
* — the auto-play-gif setting and the logged-in user's follow set — yet the avatar
* code used to collect each of them **once per author**. With dozens of authors per
* card that produced dozens of redundant Flow collectors / coroutine launches every
* time a card scrolled into view, a measurable chunk of the per-card composition cost.
*
* Hoisting those reads to a single collection per gallery and handing the snapshot
* down through [LocalAuthorGalleryRenderContext] lets each avatar read plain values
* and stay skippable. When the local is absent the avatar falls back to its old
* per-author behaviour, so callers that don't provide a context keep working.
*/
@Immutable
class AuthorGalleryRenderContext(
val autoPlayGif: Boolean,
val follows: Set<String>,
)
val LocalAuthorGalleryRenderContext = compositionLocalOf<AuthorGalleryRenderContext?> { null }
/**
* Collects the account-global render inputs a single time. Provide the result via
* [LocalAuthorGalleryRenderContext] around a gallery's author list.
*/
@Composable
fun rememberAuthorGalleryRenderContext(accountViewModel: AccountViewModel): AuthorGalleryRenderContext {
val autoPlayGif by accountViewModel.settings.autoPlayVideosFlow.collectAsStateWithLifecycle()
val follows by accountViewModel.account.allFollows.flow
.collectAsStateWithLifecycle()
val followAuthors = follows.authors
return remember(autoPlayGif, followAuthors) {
AuthorGalleryRenderContext(autoPlayGif, followAuthors)
}
}
@@ -40,6 +40,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
@@ -72,6 +73,7 @@ import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.NoteState
import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.service.CachedRichTextParser
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinderFilterAssemblerSubscription
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserContactCardsScore
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserPicture
import com.vitorpamplona.amethyst.ui.components.AnimatedBorderTextCornerRadius
@@ -463,8 +465,12 @@ fun AuthorGalleryZaps(
nav: INav,
accountViewModel: AccountViewModel,
) {
Column(modifier = StdStartPadding) {
FlowRow { authorNotes.forEach { RenderState(it, backgroundColor, accountViewModel, nav) } }
CompositionLocalProvider(
LocalAuthorGalleryRenderContext provides rememberAuthorGalleryRenderContext(accountViewModel),
) {
Column(modifier = StdStartPadding) {
FlowRow { authorNotes.forEach { RenderState(it, backgroundColor, accountViewModel, nav) } }
}
}
}
@@ -631,8 +637,12 @@ fun AuthorGallery(
accountViewModel: AccountViewModel,
clickRoute: (Note) -> Route? = ::authorRouteFor,
) {
Column(modifier = StdStartPadding) {
FlowRow { authorNotes.forEach { note -> BoxedAuthor(note, nav, accountViewModel, clickRoute) } }
CompositionLocalProvider(
LocalAuthorGalleryRenderContext provides rememberAuthorGalleryRenderContext(accountViewModel),
) {
Column(modifier = StdStartPadding) {
FlowRow { authorNotes.forEach { note -> BoxedAuthor(note, nav, accountViewModel, clickRoute) } }
}
}
}
@@ -643,9 +653,13 @@ fun AuthorGallery(
nav: INav,
accountViewModel: AccountViewModel,
) {
Column(modifier = StdStartPadding) {
FlowRow {
noteToGetBoostEvents.note.boosts.forEach { note -> BoxedAuthor(note, nav, accountViewModel) }
CompositionLocalProvider(
LocalAuthorGalleryRenderContext provides rememberAuthorGalleryRenderContext(accountViewModel),
) {
Column(modifier = StdStartPadding) {
FlowRow {
noteToGetBoostEvents.note.boosts.forEach { note -> BoxedAuthor(note, nav, accountViewModel) }
}
}
}
}
@@ -684,7 +698,27 @@ fun WatchUserMetadataAndFollowsAndRenderUserProfilePicture(
author: User,
accountViewModel: AccountViewModel,
) {
WatchUserMetadata(author, accountViewModel) { baseUserPicture ->
// When rendered inside a gallery, the account-global auto-play and follow-set
// reads are hoisted to a single collection for the whole gallery (see
// [rememberAuthorGalleryRenderContext]). Falls back to per-author collection
// for callers that don't provide a context.
val galleryContext = LocalAuthorGalleryRenderContext.current
// One shared relay subscription per author. The profile picture and the
// contact-card score below both fetch the same kind-0 metadata, so we
// subscribe once here and let them skip their own (formerly duplicate) one.
UserFinderFilterAssemblerSubscription(author, accountViewModel)
WatchUserMetadata(author, accountViewModel, subscribe = false) { baseUserPicture ->
val autoPlayGif =
if (galleryContext != null) {
galleryContext.autoPlayGif
} else {
accountViewModel.settings.autoPlayVideosFlow
.collectAsStateWithLifecycle()
.value
}
RobohashFallbackAsyncImage(
robot = author.pubkeyHex,
model = baseUserPicture,
@@ -693,30 +727,39 @@ fun WatchUserMetadataAndFollowsAndRenderUserProfilePicture(
contentScale = ContentScale.Crop,
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
autoPlayGif =
accountViewModel.settings.autoPlayVideosFlow
.collectAsStateWithLifecycle()
.value,
autoPlayGif = autoPlayGif,
)
}
WatchUserFollows(author.pubkeyHex, accountViewModel) { isFollowing ->
if (galleryContext != null) {
val isFollowing =
accountViewModel.isLoggedUser(author.pubkeyHex) ||
author.pubkeyHex in galleryContext.follows
if (isFollowing) {
Box(modifier = Size35Modifier, contentAlignment = Alignment.TopEnd) {
FollowingIcon(Size10Modifier)
}
}
} else {
WatchUserFollows(author.pubkeyHex, accountViewModel) { isFollowing ->
if (isFollowing) {
Box(modifier = Size35Modifier, contentAlignment = Alignment.TopEnd) {
FollowingIcon(Size10Modifier)
}
}
}
}
ObserveAndRenderBoxedUserCards(author, accountViewModel)
ObserveAndRenderBoxedUserCards(author, accountViewModel, subscribe = false)
}
@Composable
fun ObserveAndRenderBoxedUserCards(
user: User,
accountViewModel: AccountViewModel,
subscribe: Boolean = true,
) {
val score by observeUserContactCardsScore(user, accountViewModel)
val score by observeUserContactCardsScore(user, accountViewModel, subscribe)
score?.let {
Box(modifier = Size35Modifier, contentAlignment = Alignment.BottomCenter) {
@@ -729,9 +772,10 @@ fun ObserveAndRenderBoxedUserCards(
private fun WatchUserMetadata(
author: User,
accountViewModel: AccountViewModel,
subscribe: Boolean = true,
onNewMetadata: @Composable (String?) -> Unit,
) {
val userProfile by observeUserPicture(author, accountViewModel)
val userProfile by observeUserPicture(author, accountViewModel, subscribe)
onNewMetadata(userProfile)
}
@@ -196,6 +196,7 @@ import com.vitorpamplona.amethyst.ui.note.types.observeZapSender
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.feed.types.RenderChatClip
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.nip28PublicChat.RenderPublicChatChannelHeader
import com.vitorpamplona.amethyst.ui.screen.loggedIn.workouts.ExerciseTemplateDisplay
import com.vitorpamplona.amethyst.ui.screen.loggedIn.workouts.WorkoutDisplay
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer
@@ -228,6 +229,7 @@ import com.vitorpamplona.quartz.experimental.audio.track.AudioTrackEvent
import com.vitorpamplona.quartz.experimental.birdstar.BirdexEvent
import com.vitorpamplona.quartz.experimental.bounties.bountyBaseReward
import com.vitorpamplona.quartz.experimental.edits.TextNoteModificationEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.ExerciseTemplateEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.WorkoutRecordEvent
import com.vitorpamplona.quartz.experimental.forks.IForkableEvent
import com.vitorpamplona.quartz.experimental.interactiveStories.InteractiveStoryBaseEvent
@@ -242,6 +244,7 @@ import com.vitorpamplona.quartz.experimental.nipsOnNostr.NipTextEvent
import com.vitorpamplona.quartz.experimental.roadstr.confirmation.RoadEventConfirmationEvent
import com.vitorpamplona.quartz.experimental.roadstr.report.RoadEventReportEvent
import com.vitorpamplona.quartz.experimental.zapPolls.ZapPollEvent
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.tags.geohash.geoHashOrScope
import com.vitorpamplona.quartz.nip02FollowList.ContactListEvent
import com.vitorpamplona.quartz.nip04Dm.messages.PrivateDmEvent
@@ -532,6 +535,7 @@ fun calculateBackgroundColor(
routeForLastRead: String? = null,
parentBackgroundColor: MutableState<Color>? = null,
accountViewModel: AccountViewModel,
dismissNotificationId: HexKey? = null,
): MutableState<Color> {
val defaultBackgroundColor = MaterialTheme.colorScheme.background
val newItemColor = MaterialTheme.colorScheme.newItemBackgroundColor
@@ -544,7 +548,7 @@ fun calculateBackgroundColor(
val isNew =
remember(createdAt, routeForLastRead) {
routeForLastRead != null && accountViewModel.loadAndMarkAsRead(routeForLastRead, createdAt)
routeForLastRead != null && accountViewModel.loadAndMarkAsRead(routeForLastRead, createdAt, dismissNotificationId)
}
val bgColor =
@@ -593,6 +597,7 @@ private fun CheckNewAndRenderNote(
routeForLastRead,
parentBackgroundColor,
accountViewModel,
dismissNotificationId = baseNote.idHex,
)
InnerNoteWithReactions(
@@ -1417,6 +1422,10 @@ private fun RenderNoteRow(
WorkoutDisplay(baseNote, backgroundColor, canPreview, quotesLeft, accountViewModel, nav)
}
is ExerciseTemplateEvent -> {
ExerciseTemplateDisplay(baseNote, backgroundColor, canPreview, quotesLeft, accountViewModel, nav)
}
is BaseVoiceEvent -> {
RenderVoiceTrack(baseNote, accountViewModel, nav)
}
@@ -21,7 +21,6 @@
package com.vitorpamplona.amethyst.ui.note
import android.content.Context
import android.content.Intent
import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.AnimatedContentTransitionScope
import androidx.compose.animation.AnimatedVisibility
@@ -148,6 +147,7 @@ import com.vitorpamplona.amethyst.ui.components.toasts.multiline.UserBasedErrorM
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.navigation.routes.routeReplyTo
import com.vitorpamplona.amethyst.ui.note.elements.ShareOptionsBottomSheet
import com.vitorpamplona.amethyst.ui.note.types.EditState
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.header.PaymentTargetsDialog
@@ -318,6 +318,7 @@ private fun InnerReactionRow(
if (!isPrivateRumor) {
ShareReaction(
note = baseNote,
nav = nav,
grayTint = MaterialTheme.colorScheme.placeholderText,
)
}
@@ -338,38 +339,26 @@ private fun InnerReactionRow(
@Composable
fun ShareReaction(
note: Note,
nav: INav,
grayTint: Color,
barChartModifier: Modifier = Size19Modifier,
) {
val context = LocalContext.current
var showShareSheet by remember { mutableStateOf(false) }
ClickableBox(
modifier = barChartModifier,
onClick = {
val sendIntent =
Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(
Intent.EXTRA_TEXT,
externalLinkForNote(note),
)
putExtra(
Intent.EXTRA_TITLE,
stringRes(context, R.string.quick_action_share_browser_link),
)
}
val shareIntent =
Intent.createChooser(
sendIntent,
stringRes(context, R.string.quick_action_share),
)
context.startActivity(shareIntent)
},
onClick = { showShareSheet = true },
) {
ShareIcon(barChartModifier, grayTint)
}
if (showShareSheet) {
ShareOptionsBottomSheet(
note = note,
nav = nav,
onDismiss = { showShareSheet = false },
)
}
}
@Composable
@@ -104,7 +104,6 @@ import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
import com.vitorpamplona.amethyst.ui.theme.subtleBorder
import com.vitorpamplona.quartz.experimental.zapPolls.ZapPollEvent
import com.vitorpamplona.quartz.nip31Alts.AltTag
import com.vitorpamplona.quartz.nip57Zaps.LnZapEvent
import kotlinx.collections.immutable.ImmutableList
import kotlinx.coroutines.Dispatchers
@@ -204,7 +203,6 @@ fun ZapZapPollNotePreview2() {
arrayOf("poll_option", "1", "Pesquisa em ingles"),
arrayOf("value_maximum", "2"),
arrayOf("value_minimum", "2"),
AltTag.assemble("Poll event"),
),
)
@@ -20,7 +20,6 @@
*/
package com.vitorpamplona.amethyst.ui.note.elements
import android.content.Intent
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.State
@@ -30,7 +29,6 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
@@ -47,7 +45,6 @@ import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.navigation.routes.routeEditDraftTo
import com.vitorpamplona.amethyst.ui.note.VerticalDotsIcon
import com.vitorpamplona.amethyst.ui.note.externalLinkForNote
import com.vitorpamplona.amethyst.ui.note.types.EditState
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.report.ReportNoteDialog
@@ -116,6 +113,23 @@ fun NoteDropDownMenu(
) {
var reportDialogShowing by remember { mutableStateOf(false) }
var addLabelDialogShowing by remember { mutableStateOf(false) }
var showShareSheet by remember { mutableStateOf(false) }
// Tapping "Share" hands the note's share options off to the shared Share
// drawer (ShareOptionsBottomSheet). We render it INSTEAD of the menu dialog
// — not on top of it — so the menu doesn't sit dimmed behind the sheet;
// dismissing the drawer closes the whole menu.
if (showShareSheet) {
ShareOptionsBottomSheet(
note = note,
nav = nav,
onDismiss = {
showShareSheet = false
onDismiss()
},
)
return
}
val state by observeBookmarksFollowsAndAccount(note, accountViewModel).collectAsStateWithLifecycle(
DropDownParams(
@@ -158,7 +172,6 @@ fun NoteDropDownMenu(
onDismiss = onDismiss,
) {
val clipboardManager = LocalClipboard.current
val actContext = LocalContext.current
val scope = rememberCoroutineScope()
// Unsealed rumors (private replies/posts received in gift wraps) are
@@ -189,7 +202,8 @@ fun NoteDropDownMenu(
}
}
// Copy & Share section
// Copy & Share section. The copy-to-clipboard rows live here (and only
// here); the "Share" row hands off to the shared Share drawer.
M3ActionSection {
M3ActionRow(icon = MaterialSymbols.ContentCopy, text = stringRes(R.string.copy_text)) {
val lastNoteVersion = (editState?.value as? GenericLoadable.Loaded)?.loaded?.modificationToShow?.value ?: note
@@ -228,26 +242,7 @@ fun NoteDropDownMenu(
}
if (!isPrivateRumor) {
M3ActionRow(icon = MaterialSymbols.Share, text = stringRes(R.string.quick_action_share)) {
val sendIntent =
Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, externalLinkForNote(note))
putExtra(Intent.EXTRA_TITLE, stringRes(actContext, R.string.quick_action_share_browser_link))
}
val shareIntent = Intent.createChooser(sendIntent, stringRes(actContext, R.string.quick_action_share))
actContext.startActivity(shareIntent)
onDismiss()
}
M3ActionRow(icon = MaterialSymbols.Image, text = stringRes(R.string.share_as_image)) {
val shareId = if (note is AddressableNote) note.address.toValue() else note.idHex
nav.nav(Route.ShareNoteAsImageFile(shareId))
onDismiss()
}
M3ActionRow(icon = MaterialSymbols.Image, text = stringRes(R.string.share_as_image_url)) {
val shareId = if (note is AddressableNote) note.address.toValue() else note.idHex
nav.nav(Route.ShareNoteAsImage(shareId))
onDismiss()
showShareSheet = true
}
}
}
@@ -0,0 +1,79 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.ui.note.elements
import android.content.Intent
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.components.M3ActionRow
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.note.externalLinkForNote
import com.vitorpamplona.amethyst.ui.stringRes
/**
* The shared Share rows used by the [ShareOptionsBottomSheet] drawer (opened
* both from the reaction-row Share button and from the note's 3-dot menu).
*
* Only the true "send it somewhere" options live here — browser link, image
* file, image URL. The copy-to-clipboard options stay in the 3-dot menu, so
* they are intentionally NOT part of this shared element.
*
* Callers only render these for non-private notes: every option exposes the
* note publicly (a shareable web link, or an image of it), which must never
* happen for a private gift-wrapped rumor.
*/
@Composable
fun ShareActionRows(
note: Note,
nav: INav,
onDismiss: () -> Unit,
) {
val actContext = LocalContext.current
// AddressableNotes are shared by their replaceable address; everything else
// by event id. The two image routes resolve the note from this same id.
val shareId = if (note is AddressableNote) note.address.toValue() else note.idHex
M3ActionRow(icon = MaterialSymbols.Share, text = stringRes(R.string.quick_action_share)) {
val sendIntent =
Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, externalLinkForNote(note))
putExtra(Intent.EXTRA_TITLE, stringRes(actContext, R.string.quick_action_share_browser_link))
}
val shareIntent = Intent.createChooser(sendIntent, stringRes(actContext, R.string.quick_action_share))
actContext.startActivity(shareIntent)
onDismiss()
}
M3ActionRow(icon = MaterialSymbols.Image, text = stringRes(R.string.share_as_image)) {
nav.nav(Route.ShareNoteAsImageFile(shareId))
onDismiss()
}
M3ActionRow(icon = MaterialSymbols.Image, text = stringRes(R.string.share_as_image_url)) {
nav.nav(Route.ShareNoteAsImage(shareId))
onDismiss()
}
}
@@ -0,0 +1,81 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.ui.note.elements
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Text
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.components.M3ActionSection
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.stringRes
/**
* Bottom drawer that offers the note's Share options ([ShareActionRows]).
* Opened from the reaction-row Share button and from the note's 3-dot menu,
* so both entry points share the exact same list.
*/
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ShareOptionsBottomSheet(
note: Note,
nav: INav,
onDismiss: () -> Unit,
) {
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
ModalBottomSheet(onDismissRequest = onDismiss, sheetState = sheetState) {
Column(
modifier =
Modifier
.fillMaxWidth()
.padding(bottom = 12.dp),
) {
Text(
text = stringRes(R.string.quick_action_share),
style = MaterialTheme.typography.titleSmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
textAlign = TextAlign.Center,
modifier =
Modifier
.fillMaxWidth()
.padding(horizontal = 20.dp, vertical = 8.dp),
)
M3ActionSection {
ShareActionRows(
note = note,
nav = nav,
onDismiss = onDismiss,
)
}
}
}
}
@@ -43,6 +43,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.produceState
@@ -59,6 +60,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.compose.AsyncImage
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.richtext.MediaUrlImage
@@ -90,10 +92,14 @@ import com.vitorpamplona.quartz.experimental.nip82SoftwareApps.asset.SoftwareAss
import com.vitorpamplona.quartz.experimental.nip82SoftwareApps.release.SoftwareReleaseEvent
import com.vitorpamplona.quartz.experimental.nip82SoftwareApps.release.asSoftwareRelease
import com.vitorpamplona.quartz.experimental.nip82SoftwareApps.release.isNip82SoftwareRelease
import com.vitorpamplona.quartz.experimental.nip82SoftwareApps.release.tags.AppIdTag
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
import com.vitorpamplona.quartz.nip01Core.tags.dTag.dTag
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
/**
* NIP-82 kind 32267 — compact feed card. Renders icon, name, latest version
@@ -188,52 +194,79 @@ fun RenderSoftwareApplication(
}
/**
* Looks up the latest NIP-82 [SoftwareReleaseEvent] for [app] from
* [LocalCache] and exposes the version string. Recomputes on event identity
* change; relay-driven recompositions of the surrounding feed will pick up
* newer releases via re-keying.
* Latest NIP-82 [SoftwareReleaseEvent] version for [app], kept live.
*
* Releases (kind 30063) are separate events that point back to the app via an
* `i` tag rather than an `a` tag, so they are never indexed as replies to the
* app note and never ping its flows. Instead we register an index-driven
* [LocalCache.observeNotes] observer, so a newer release arriving while the
* card is visible updates the version chip without a manual refresh.
*
* The filter narrows on the release's `i` tag (the app id), not just the
* author, so the observer only ever loads *this* app's releases — an author
* with many apps would otherwise pull every release they ever published into
* the observer's working set. A blind `limit` is deliberately avoided:
* [LocalCache.filter] applies `take(limit)` before sorting by `created_at`,
* so it could drop the very release we are looking for.
*/
@Composable
fun produceLatestReleaseVersion(app: SoftwareApplicationEvent) =
produceState<String?>(initialValue = null, key1 = app.id) {
value =
withContext(Dispatchers.Default) {
findLatestNip82Release(app)?.version()
}
}
fun findLatestNip82Release(app: SoftwareApplicationEvent): SoftwareReleaseEvent? {
val prefix = "${app.dTag()}@"
val notes =
LocalCache.addressables.filterIntoSet(SoftwareReleaseEvent.KIND, app.pubKey) { _, addr ->
val ev = addr.event ?: return@filterIntoSet false
ev.isNip82SoftwareRelease() && ev.dTag().startsWith(prefix)
fun produceLatestReleaseVersion(app: SoftwareApplicationEvent): State<String?> {
val flow =
remember(app.pubKey, app.id) {
val filter =
Filter(
kinds = listOf(SoftwareReleaseEvent.KIND),
authors = listOf(app.pubKey),
tags = mapOf(AppIdTag.TAG_NAME to listOf(app.appId())),
)
LocalCache
.observeNotes(filter)
.map { notes -> latestNip82Release(notes, app)?.version() }
.distinctUntilChanged()
.flowOn(Dispatchers.Default)
}
return notes
.mapNotNull {
when (val ev = it.event) {
is SoftwareReleaseEvent -> ev
null -> null
else -> if (ev.isNip82SoftwareRelease()) ev.asSoftwareRelease() else null
}
}.maxByOrNull { it.createdAt }
return flow.collectAsStateWithLifecycle(initialValue = null)
}
fun findLatestNip82Release(app: SoftwareApplicationEvent): SoftwareReleaseEvent? = latestNip82Release(nip82ReleaseNotesFor(app), app)
/** Picks the newest NIP-82 release for [app] out of an already-narrowed [notes] collection. */
private fun latestNip82Release(
notes: Collection<Note>,
app: SoftwareApplicationEvent,
): SoftwareReleaseEvent? {
val prefix = "${app.dTag()}@"
return notes
.mapNotNull { it.asNip82ReleaseFor(prefix) }
.maxByOrNull { it.createdAt }
}
/** kind-30063 addressables authored by [app] whose `d` tag is `<app-id>@<version>`. */
private fun nip82ReleaseNotesFor(app: SoftwareApplicationEvent): Set<Note> {
val prefix = "${app.dTag()}@"
return LocalCache.addressables.filterIntoSet(SoftwareReleaseEvent.KIND, app.pubKey) { _, addr ->
val ev = addr.event ?: return@filterIntoSet false
ev.isNip82SoftwareRelease() && ev.dTag().startsWith(prefix)
}
}
/**
* Re-reads this note as the NIP-82 release for [prefix] (`<app-id>@`). kind 30063
* collides with NIP-51 `ReleaseArtifactSetEvent`, which is what `EventFactory`
* builds, so we re-parse matching tag arrays as the NIP-82 form.
*/
private fun Note.asNip82ReleaseFor(prefix: String): SoftwareReleaseEvent? =
when (val ev = event) {
null -> null
is SoftwareReleaseEvent -> ev.takeIf { it.dTag().startsWith(prefix) }
else -> if (ev.isNip82SoftwareRelease() && ev.dTag().startsWith(prefix)) ev.asSoftwareRelease() else null
}
fun findAllNip82Releases(app: SoftwareApplicationEvent): List<SoftwareReleaseEvent> {
val prefix = "${app.dTag()}@"
val notes =
LocalCache.addressables.filterIntoSet(SoftwareReleaseEvent.KIND, app.pubKey) { _, addr ->
val ev = addr.event ?: return@filterIntoSet false
ev.isNip82SoftwareRelease() && ev.dTag().startsWith(prefix)
}
return notes
.mapNotNull {
when (val ev = it.event) {
is SoftwareReleaseEvent -> ev
null -> null
else -> if (ev.isNip82SoftwareRelease()) ev.asSoftwareRelease() else null
}
}.sortedByDescending { it.createdAt }
return nip82ReleaseNotesFor(app)
.mapNotNull { it.asNip82ReleaseFor(prefix) }
.sortedByDescending { it.createdAt }
}
@Composable
@@ -35,6 +35,7 @@ import com.vitorpamplona.amethyst.ui.feeds.FeedEmpty
import com.vitorpamplona.amethyst.ui.feeds.FeedError
import com.vitorpamplona.amethyst.ui.feeds.FeedLoaded
import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.feeds.RefresheableBox
import com.vitorpamplona.amethyst.ui.feeds.StickToTopOnPrepend
import com.vitorpamplona.amethyst.ui.feeds.WatchScrollToTop
@@ -133,7 +134,10 @@ fun RenderFeedState(
when (state) {
is FeedState.Empty -> onEmpty()
is FeedState.FeedError -> onError(state.errorMessage)
is FeedState.Loaded -> onLoaded(state)
is FeedState.Loaded -> {
PrefetchLoadedFeedMedia(state, listState, accountViewModel)
onLoaded(state)
}
is FeedState.Loading -> onLoading()
}
}
@@ -21,6 +21,7 @@
package com.vitorpamplona.amethyst.ui.screen.loggedIn
import android.annotation.SuppressLint
import android.app.NotificationManager
import android.content.Context
import android.os.Handler
import android.os.Looper
@@ -30,6 +31,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
@@ -69,6 +71,7 @@ import com.vitorpamplona.amethyst.service.cashu.melt.MeltProcessor
import com.vitorpamplona.amethyst.service.checkNotInMainThread
import com.vitorpamplona.amethyst.service.lnurl.LightningAddressResolver
import com.vitorpamplona.amethyst.service.location.LocationState
import com.vitorpamplona.amethyst.service.notifications.NotificationUtils.dismissNotificationForEvent
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.RelaySubscriptionsCoordinator
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentFilterAssembler
import com.vitorpamplona.amethyst.ui.actions.Dao
@@ -134,7 +137,6 @@ import com.vitorpamplona.quartz.nip19Bech32.entities.NPub
import com.vitorpamplona.quartz.nip19Bech32.entities.NRelay
import com.vitorpamplona.quartz.nip19Bech32.entities.NSec
import com.vitorpamplona.quartz.nip28PublicChat.base.IsInPublicChatChannel
import com.vitorpamplona.quartz.nip31Alts.alt
import com.vitorpamplona.quartz.nip37Drafts.DraftWrapEvent
import com.vitorpamplona.quartz.nip47WalletConnect.Nip47WalletConnect
import com.vitorpamplona.quartz.nip47WalletConnect.rpc.Response
@@ -1609,6 +1611,7 @@ class AccountViewModel(
fun loadAndMarkAsRead(
routeForLastRead: String,
createdAt: Long?,
dismissNotificationId: HexKey? = null,
): Boolean {
if (createdAt == null) return false
@@ -1619,12 +1622,21 @@ class AccountViewModel(
if (onIsNew) {
viewModelScope.launch(Dispatchers.IO) {
account.markAsRead(routeForLastRead, createdAt)
// The user is now looking at this event in-app, so clear any tray
// notification that was posted for it while the app was backgrounded.
dismissNotificationId?.let { dismissTrayNotificationFor(it) }
}
}
return onIsNew
}
private fun dismissTrayNotificationFor(eventId: HexKey) {
ContextCompat
.getSystemService(Amethyst.instance.appContext, NotificationManager::class.java)
?.dismissNotificationForEvent(eventId)
}
fun markAllChatNotesAsRead(notes: List<Note>) {
viewModelScope.launch(Dispatchers.IO) {
for (note in notes) {
@@ -1748,7 +1760,6 @@ class AccountViewModel(
nostrGroupId: String,
url: String,
imeta: com.vitorpamplona.quartz.nip92IMeta.IMetaTag,
caption: String? = null,
) {
val template =
eventTemplate(
@@ -1756,9 +1767,6 @@ class AccountViewModel(
description = url,
) {
imeta(imeta)
if (!caption.isNullOrEmpty()) {
alt(caption)
}
}
// MIP-03: inner events MUST remain unsigned (no `sig`) so a leaked
// plaintext can't be replayed as a valid public kind:9. Authorship
@@ -31,15 +31,17 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
@@ -61,37 +63,57 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.observeNo
import com.vitorpamplona.amethyst.ui.components.RobohashAsyncImage
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.routeFor
import com.vitorpamplona.amethyst.ui.navigation.topbars.TopBarWithBackButton
import com.vitorpamplona.amethyst.ui.navigation.topbars.FeedFilterSpinner
import com.vitorpamplona.amethyst.ui.navigation.topbars.ShorterTopAppBar
import com.vitorpamplona.amethyst.ui.note.ArrowBackIcon
import com.vitorpamplona.amethyst.ui.note.ClearTextIcon
import com.vitorpamplona.amethyst.ui.note.SearchIcon
import com.vitorpamplona.amethyst.ui.note.types.ByAuthorChip
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.apps.recommendations.datasource.ProfileAppRecommendationsFilterAssemblerSubscription
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.kindDisplayName
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
import com.vitorpamplona.quartz.nip89AppHandlers.definition.AppDefinitionEvent
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.flow.flowOn
@Composable
fun ProfileAppRecommendationsScreen(
accountViewModel: AccountViewModel,
nav: INav,
) {
val myPubkey = accountViewModel.userProfile().pubkeyHex
// Pull my kind 31989 events plus recent kind 31990 app definitions from
// relays so the list below has candidates while this screen is open.
ProfileAppRecommendationsFilterAssemblerSubscription(accountViewModel)
// Ticks whenever LocalCache emits a bundle with a new app definition, so
// the candidate snapshot below recomputes.
var appDefinitionsTick by remember { mutableIntStateOf(0) }
LaunchedEffect(myPubkey) {
launch(Dispatchers.IO) {
LocalCache.live.newEventBundles.collect { bundle ->
if (bundle.any { it.event is AppDefinitionEvent }) appDefinitionsTick++
}
// Kind 31990 app definitions, kept live. observeNotes seeds with the notes
// already cached and re-emits as new definitions are inserted, so the
// candidate list below derives straight from these notes — no manual tick or
// full-cache rescan.
//
// Caveat: observeNotes does NOT re-emit when an already-listed addressable is
// replaced in place, so the list isn't re-filtered/re-sorted on a kind-31990
// update (a blank app that later gains a name, or a newer createdAt changing
// the tier order). That's acceptable here: membership rarely flips on an
// update, each row's own content stays live via AppRow's observeNoteEvent, and
// the list recomputes anyway as the recommendation/follow lists stream in.
//
// The initial value is the current cache snapshot so the first frame matches
// the seeded emission instead of flashing empty.
val cachedAppDefinitions =
remember {
LocalCache.addressables
.filterIntoSet(AppDefinitionEvent.KIND) { _, _ -> true }
.toList()
}
}
val appDefinitionNotes by remember {
LocalCache
.observeNotes(Filter(kinds = listOf(AppDefinitionEvent.KIND)))
.flowOn(Dispatchers.IO)
}.collectAsStateWithLifecycle(initialValue = cachedAppDefinitions)
val myRecommendationEvents by accountViewModel.account.appRecommendations.flow
.collectAsStateWithLifecycle()
@@ -124,10 +146,11 @@ fun ProfileAppRecommendationsScreen(
}
val apps =
remember(appDefinitionsTick, pinnedRecommended, pinnedFollows) {
LocalCache.addressables
.filterIntoSet(AppDefinitionEvent.KIND) { _, note ->
val event = note.event as? AppDefinitionEvent ?: return@filterIntoSet false
remember(appDefinitionNotes, pinnedRecommended, pinnedFollows) {
appDefinitionNotes
.filterIsInstance<AddressableNote>()
.filter { note ->
val event = note.event as? AppDefinitionEvent ?: return@filter false
// Unnamed apps are poor recommendation candidates; keep them
// only when already recommended, so they can be turned off.
note.address in pinnedRecommended ||
@@ -156,9 +179,45 @@ fun ProfileAppRecommendationsScreen(
.map { LocalCache.getOrCreateAddressableNote(it) }
}
// The shared top-nav feed filter, resolved to an author/tag matcher. Only the
// author dimension is meaningful for app definitions, so the matchAuthor side
// does the work (Follows lists narrow to apps by those authors); the
// hashtag/relay/community variants leave matchAuthor == true and act as no-ops.
// Applied to discovered apps only — apps I already recommend stay listed so I
// can always turn them off.
val navFilter by accountViewModel.account.liveAppRecommendationsFollowLists
.collectAsStateWithLifecycle()
val authorFilteredApps =
remember(apps, navFilter) {
apps.filter { navFilter.matchAuthor(it.address.pubKeyHex) }
}
// Full candidate list in display order; the search box filters this view.
val allApps =
remember(missingRecommended, authorFilteredApps) {
missingRecommended + authorFilteredApps
}
var searchQuery by remember { mutableStateOf("") }
// Matches on the app's name; rows whose definition hasn't arrived yet have no
// name to match, so they only show when the search box is empty.
val visibleApps =
remember(allApps, searchQuery) {
val query = searchQuery.trim()
if (query.isEmpty()) {
allApps
} else {
allApps.filter { note ->
val event = note.event as? AppDefinitionEvent
event?.appMetaData()?.anyName()?.contains(query, ignoreCase = true) == true
}
}
}
Scaffold(
topBar = {
TopBarWithBackButton(stringRes(id = R.string.profile_app_recommendations_title), nav)
AppRecommendationsTopBar(accountViewModel, nav)
},
) { pad ->
Column(Modifier.padding(pad).fillMaxSize()) {
@@ -168,11 +227,53 @@ fun ProfileAppRecommendationsScreen(
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(horizontal = 20.dp, vertical = 12.dp),
)
if (allApps.isNotEmpty()) {
OutlinedTextField(
value = searchQuery,
onValueChange = { searchQuery = it },
modifier =
Modifier
.fillMaxWidth()
.padding(horizontal = 20.dp, vertical = 4.dp),
placeholder = {
Text(
text = stringRes(R.string.profile_app_recommendations_search),
color = MaterialTheme.colorScheme.placeholderText,
)
},
leadingIcon = { SearchIcon(modifier = Size20Modifier, MaterialTheme.colorScheme.placeholderText) },
trailingIcon = {
if (searchQuery.isNotEmpty()) {
IconButton(onClick = { searchQuery = "" }) {
ClearTextIcon()
}
}
},
singleLine = true,
)
}
HorizontalDivider()
if (apps.isEmpty() && missingRecommended.isEmpty()) {
if (allApps.isEmpty()) {
// Apps exist in cache but the author filter hid them all, vs.
// nothing discovered yet.
val emptyMessage =
if (apps.isNotEmpty()) {
stringRes(R.string.profile_app_recommendations_filter_empty)
} else {
stringRes(R.string.profile_app_recommendations_empty)
}
Text(
text = stringRes(R.string.profile_app_recommendations_empty),
text = emptyMessage,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(20.dp),
)
} else if (visibleApps.isEmpty()) {
Text(
text = stringRes(R.string.profile_app_recommendations_search_empty),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(20.dp),
@@ -180,7 +281,7 @@ fun ProfileAppRecommendationsScreen(
} else {
LazyColumn(modifier = Modifier.fillMaxSize()) {
items(
items = missingRecommended + apps,
items = visibleApps,
key = { it.idHex },
) { appNote ->
AppRow(
@@ -198,6 +299,37 @@ fun ProfileAppRecommendationsScreen(
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
private fun AppRecommendationsTopBar(
accountViewModel: AccountViewModel,
nav: INav,
) {
ShorterTopAppBar(
navigationIcon = {
if (nav.canPop()) {
IconButton(nav::popBack) {
ArrowBackIcon()
}
}
},
title = {
val listName by accountViewModel.account.settings.defaultAppRecommendationsFollowList
.collectAsStateWithLifecycle()
val options by accountViewModel.feedStates.feedListOptions.kind3GlobalPeople
.collectAsStateWithLifecycle()
FeedFilterSpinner(
placeholderCode = listName,
explainer = stringRes(R.string.select_list_to_filter),
options = options,
onSelect = accountViewModel.account.settings::changeDefaultAppRecommendationsFollowList,
accountViewModel = accountViewModel,
)
},
)
}
@Composable
private fun AppRow(
appNote: AddressableNote,
@@ -187,7 +187,7 @@ fun NormalChatNote(
if (routeForLastRead != null) {
LaunchedEffect(key1 = routeForLastRead) {
accountViewModel.loadAndMarkAsRead(routeForLastRead, note.createdAt())
accountViewModel.loadAndMarkAsRead(routeForLastRead, note.createdAt(), dismissNotificationId = note.idHex)
}
}
@@ -41,10 +41,12 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.navigation.topbars.CreatingTopBar
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
import com.vitorpamplona.quartz.utils.RandomInstance
import kotlinx.coroutines.Dispatchers
@@ -87,7 +89,7 @@ fun CreateGroupScreen(
Toast
.makeText(
context,
"Failed to create group: ${e.message}",
stringRes(context, R.string.marmot_failed_to_create_group, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -119,7 +121,7 @@ fun CreateGroupScreen(
.padding(horizontal = 16.dp),
) {
Text(
text = "Create Marmot Group",
text = stringRes(R.string.marmot_create_group_title),
style = MaterialTheme.typography.headlineSmall,
modifier = Modifier.padding(top = 16.dp, bottom = 8.dp),
)
@@ -127,13 +129,13 @@ fun CreateGroupScreen(
OutlinedTextField(
value = groupName,
onValueChange = { groupName = it },
label = { Text("Group Name") },
label = { Text(stringRes(R.string.marmot_group_name)) },
modifier = Modifier.fillMaxWidth(),
singleLine = true,
)
Text(
"A new MLS group will be created. You can add members after.",
stringRes(R.string.marmot_create_group_footer),
modifier = Modifier.padding(top = 12.dp),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
@@ -169,23 +171,18 @@ private fun MissingKeyPackageRelayListDialog(
) {
AlertDialog(
onDismissRequest = onCancel,
title = { Text("KeyPackage Relays not set") },
title = { Text(stringRes(R.string.marmot_keypackage_relays_not_set_title)) },
text = {
Text(
"You don't have a KeyPackage Relay List yet (MIP-00). " +
"This list tells other people where your KeyPackage is " +
"published so they can invite you to group chats.\n\n" +
"Use your current outbox relays for this?",
)
Text(stringRes(R.string.marmot_keypackage_relays_not_set_message))
},
confirmButton = {
TextButton(onClick = onConfirm) {
Text("Use outbox relays")
Text(stringRes(R.string.marmot_use_outbox_relays))
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text("Skip for now")
Text(stringRes(R.string.marmot_skip_for_now))
}
},
)
@@ -46,6 +46,7 @@ import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.navigation.topbars.ActionTopBar
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -87,7 +88,7 @@ fun EditGroupInfoScreen(
)
launch(Dispatchers.Main) {
Toast
.makeText(context, "Group info updated", Toast.LENGTH_SHORT)
.makeText(context, stringRes(context, R.string.marmot_group_info_updated), Toast.LENGTH_SHORT)
.show()
}
nav.popBack()
@@ -97,7 +98,7 @@ fun EditGroupInfoScreen(
Toast
.makeText(
context,
"Failed to update: ${e.message}",
stringRes(context, R.string.marmot_failed_to_update, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -121,8 +122,8 @@ fun EditGroupInfoScreen(
OutlinedTextField(
value = name,
onValueChange = { name = it },
label = { Text("Group name") },
placeholder = { Text("Enter group name") },
label = { Text(stringRes(R.string.marmot_group_name)) },
placeholder = { Text(stringRes(R.string.marmot_group_name_placeholder)) },
modifier = Modifier.fillMaxWidth(),
singleLine = true,
enabled = !isSaving,
@@ -133,8 +134,8 @@ fun EditGroupInfoScreen(
OutlinedTextField(
value = description,
onValueChange = { description = it },
label = { Text("Description") },
placeholder = { Text("Enter group description (optional)") },
label = { Text(stringRes(R.string.description)) },
placeholder = { Text(stringRes(R.string.marmot_group_description_placeholder)) },
modifier = Modifier.fillMaxWidth(),
minLines = 3,
maxLines = 5,
@@ -144,7 +145,7 @@ fun EditGroupInfoScreen(
Spacer(modifier = Modifier.height(8.dp))
Text(
text = "Changes will be committed to the group via MLS and propagated to all members.",
text = stringRes(R.string.marmot_edit_info_footer),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
@@ -35,8 +35,10 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.ui.layouts.DisappearingScaffold
@@ -45,6 +47,7 @@ import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.note.NonClickableUserPictures
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.header.DisplayUserSetAsSubject
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip01Core.core.HexKey
@OptIn(ExperimentalMaterial3Api::class)
@@ -73,7 +76,7 @@ fun MarmotGroupChatScreen(
IconButton(onClick = { nav.popBack() }) {
Icon(
symbol = MaterialSymbols.AutoMirrored.ArrowBack,
contentDescription = "Back",
contentDescription = stringRes(R.string.back),
)
}
},
@@ -102,11 +105,11 @@ fun MarmotGroupChatScreen(
accountViewModel = accountViewModel,
)
} else {
Text("Marmot Group")
Text(stringRes(R.string.marmot_group_default_name))
}
if (memberCount > 0) {
Text(
text = "$memberCount members",
text = pluralStringResource(R.plurals.marmot_member_count, memberCount, memberCount),
style = MaterialTheme.typography.bodySmall,
)
}
@@ -117,7 +120,7 @@ fun MarmotGroupChatScreen(
IconButton(onClick = { nav.nav(Route.MarmotGroupInfo(nostrGroupId)) }) {
Icon(
symbol = MaterialSymbols.GroupAdd,
contentDescription = "Add Member",
contentDescription = stringRes(R.string.marmot_add_member_action),
)
}
},
@@ -287,7 +287,7 @@ private fun MarmotGroupFileUploadDialog(
remember(nostrGroupId) {
accountViewModel.account.marmotGroupList.getOrCreateGroup(nostrGroupId)
}
Text(chatroom.displayName.value ?: "Marmot Group")
Text(chatroom.displayName.value ?: stringRes(R.string.marmot_group_default_name))
},
upload = {
scope.launch(Dispatchers.IO) {
@@ -297,7 +297,7 @@ private fun MarmotGroupFileUploadDialog(
Toast
.makeText(
context,
"Not a member of this group",
stringRes(context, R.string.marmot_not_a_member),
Toast.LENGTH_SHORT,
).show()
}
@@ -62,10 +62,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.marmot.GroupMemberInfo
@@ -80,6 +82,7 @@ import com.vitorpamplona.amethyst.ui.note.creators.userSuggestions.UserSuggestio
import com.vitorpamplona.amethyst.ui.note.timeAgo
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.LoadUser
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.MediumRelayIconModifier
import com.vitorpamplona.amethyst.ui.theme.SuggestionListDefaultHeightChat
import com.vitorpamplona.amethyst.ui.theme.allGoodColor
@@ -137,16 +140,16 @@ fun MarmotGroupInfoScreen(
IconButton(onClick = { nav.popBack() }) {
Icon(
symbol = MaterialSymbols.AutoMirrored.ArrowBack,
contentDescription = "Back",
contentDescription = stringRes(R.string.back),
)
}
},
title = { Text("Group Info") },
title = { Text(stringRes(R.string.marmot_group_info_title)) },
actions = {
IconButton(onClick = { nav.nav(Route.MarmotGroupEditInfo(nostrGroupId)) }) {
Icon(
symbol = MaterialSymbols.Edit,
contentDescription = "Edit Group Info",
contentDescription = stringRes(R.string.marmot_edit_group_info),
)
}
IconButton(
@@ -155,7 +158,7 @@ fun MarmotGroupInfoScreen(
) {
Icon(
symbol = MaterialSymbols.AutoMirrored.ExitToApp,
contentDescription = "Leave Group",
contentDescription = stringRes(R.string.marmot_leave_group),
tint = MaterialTheme.colorScheme.error,
)
}
@@ -180,7 +183,7 @@ fun MarmotGroupInfoScreen(
Row(verticalAlignment = Alignment.CenterVertically) {
Column(modifier = Modifier.weight(1f)) {
Text(
text = displayName ?: "Group ${nostrGroupId.take(8)}...",
text = displayName ?: stringRes(R.string.marmot_group_fallback_name, nostrGroupId.take(8)),
style = MaterialTheme.typography.headlineSmall,
fontWeight = FontWeight.Bold,
)
@@ -193,7 +196,7 @@ fun MarmotGroupInfoScreen(
)
}
Text(
text = "${members.size} members",
text = pluralStringResource(R.plurals.marmot_member_count, members.size, members.size),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(top = 4.dp),
@@ -226,7 +229,7 @@ fun MarmotGroupInfoScreen(
item {
Text(
text = "Members",
text = stringRes(R.string.members),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(horizontal = 16.dp, vertical = 12.dp),
@@ -285,7 +288,7 @@ fun MarmotGroupInfoScreen(
onAdd = { user ->
isAdding = true
isAddError = false
addStatus = "Adding ${user.toBestDisplayName()}..."
addStatus = stringRes(context, R.string.marmot_adding_user, user.toBestDisplayName())
val targetPubkey = user.pubkeyHex
val targetName = user.toBestDisplayName()
scope.launch(Dispatchers.IO) {
@@ -297,11 +300,11 @@ fun MarmotGroupInfoScreen(
addSearchInput = ""
userSuggestions.reset()
} else {
addStatus = "Failed to add $targetName: ${result.removePrefix("Error: ")}"
addStatus = stringRes(context, R.string.marmot_failed_to_add_user, targetName, result.removePrefix("Error: "))
isAddError = true
}
} catch (e: Exception) {
addStatus = "Failed to add $targetName: ${e.message ?: "unknown error"}"
addStatus = stringRes(context, R.string.marmot_failed_to_add_user, targetName, e.message ?: stringRes(context, R.string.marmot_unknown_error))
isAddError = true
} finally {
isAdding = false
@@ -314,7 +317,7 @@ fun MarmotGroupInfoScreen(
if (showLeaveDialog) {
LeaveGroupDialog(
groupName = displayName ?: "this group",
groupName = displayName ?: stringRes(R.string.marmot_this_group),
onConfirm = {
showLeaveDialog = false
isLeaving = true
@@ -328,7 +331,7 @@ fun MarmotGroupInfoScreen(
Toast
.makeText(
context,
"Failed to leave group: ${e.message}",
stringRes(context, R.string.marmot_failed_to_leave_group, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -350,7 +353,7 @@ fun MarmotGroupInfoScreen(
accountViewModel.removeMarmotGroupMember(nostrGroupId, member.leafIndex)
launch(Dispatchers.Main) {
Toast
.makeText(context, "Member removed", Toast.LENGTH_SHORT)
.makeText(context, stringRes(context, R.string.marmot_member_removed), Toast.LENGTH_SHORT)
.show()
}
} catch (e: Exception) {
@@ -358,7 +361,7 @@ fun MarmotGroupInfoScreen(
Toast
.makeText(
context,
"Failed to remove member: ${e.message}",
stringRes(context, R.string.marmot_failed_to_remove_member, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -380,7 +383,7 @@ fun MarmotGroupInfoScreen(
accountViewModel.grantMarmotGroupAdmin(nostrGroupId, member.pubkey)
launch(Dispatchers.Main) {
Toast
.makeText(context, "Admin privileges granted", Toast.LENGTH_SHORT)
.makeText(context, stringRes(context, R.string.marmot_admin_granted), Toast.LENGTH_SHORT)
.show()
}
} catch (e: Exception) {
@@ -388,7 +391,7 @@ fun MarmotGroupInfoScreen(
Toast
.makeText(
context,
"Failed to grant admin: ${e.message}",
stringRes(context, R.string.marmot_failed_to_grant_admin, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -410,7 +413,7 @@ fun MarmotGroupInfoScreen(
accountViewModel.revokeMarmotGroupAdmin(nostrGroupId, member.pubkey)
launch(Dispatchers.Main) {
Toast
.makeText(context, "Admin privileges revoked", Toast.LENGTH_SHORT)
.makeText(context, stringRes(context, R.string.marmot_admin_revoked), Toast.LENGTH_SHORT)
.show()
}
} catch (e: Exception) {
@@ -418,7 +421,7 @@ fun MarmotGroupInfoScreen(
Toast
.makeText(
context,
"Failed to revoke admin: ${e.message}",
stringRes(context, R.string.marmot_failed_to_revoke_admin, e.message),
Toast.LENGTH_LONG,
).show()
}
@@ -451,7 +454,7 @@ private fun AddMemberInline(
modifier = SuggestionListDefaultHeightChat,
onEmpty = {
Text(
"They must have published a KeyPackage (kind:30443) to be added.",
stringRes(R.string.marmot_keypackage_required),
modifier = Modifier.padding(horizontal = 16.dp, vertical = 8.dp),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
@@ -461,7 +464,7 @@ private fun AddMemberInline(
IconButton(onClick = { onAdd(user) }) {
Icon(
symbol = MaterialSymbols.PersonAdd,
contentDescription = "Add to group",
contentDescription = stringRes(R.string.marmot_add_to_group),
tint = MaterialTheme.colorScheme.primary,
)
}
@@ -487,8 +490,8 @@ private fun AddMemberInline(
OutlinedTextField(
value = searchInput,
onValueChange = onSearchInputChange,
label = { Text("Add member") },
placeholder = { Text("Name, npub, or NIP-05") },
label = { Text(stringRes(R.string.marmot_add_member)) },
placeholder = { Text(stringRes(R.string.marmot_add_member_placeholder)) },
modifier =
Modifier
.fillMaxWidth()
@@ -530,11 +533,13 @@ fun MemberRow(
)
Column(modifier = Modifier.weight(1f)) {
LoadUser(baseUserHex = member.pubkey, accountViewModel = accountViewModel) { user ->
val displayName = user?.toBestDisplayName() ?: "${member.pubkey.take(16)}..."
val displayName = user?.toBestDisplayName() ?: stringRes(R.string.marmot_user_fallback_name, member.pubkey.take(16))
val youSuffix = stringRes(R.string.marmot_member_suffix_you)
val adminSuffix = stringRes(R.string.marmot_member_suffix_admin)
val suffix =
buildString {
if (isMe) append(" (you)")
if (isAdmin) append(" - admin")
if (isMe) append(youSuffix)
if (isAdmin) append(adminSuffix)
}
Text(
text = "$displayName$suffix",
@@ -549,7 +554,7 @@ fun MemberRow(
IconButton(onClick = onPromoteClick) {
Icon(
symbol = MaterialSymbols.StarBorder,
contentDescription = "Grant admin privileges",
contentDescription = stringRes(R.string.marmot_grant_admin_privileges),
tint = MaterialTheme.colorScheme.primary,
)
}
@@ -557,7 +562,7 @@ fun MemberRow(
IconButton(onClick = onDemoteClick) {
Icon(
symbol = MaterialSymbols.Star,
contentDescription = "Revoke admin privileges",
contentDescription = stringRes(R.string.marmot_revoke_admin_privileges),
tint = MaterialTheme.colorScheme.primary,
)
}
@@ -566,7 +571,7 @@ fun MemberRow(
IconButton(onClick = onRemoveClick) {
Icon(
symbol = MaterialSymbols.PersonRemove,
contentDescription = "Remove Member",
contentDescription = stringRes(R.string.marmot_remove_member),
tint = MaterialTheme.colorScheme.error,
)
}
@@ -582,18 +587,18 @@ fun LeaveGroupDialog(
) {
AlertDialog(
onDismissRequest = onDismiss,
title = { Text("Leave Group") },
title = { Text(stringRes(R.string.marmot_leave_group)) },
text = {
Text("Are you sure you want to leave \"$groupName\"? You will no longer receive messages from this group.")
Text(stringRes(R.string.marmot_leave_group_confirm, groupName))
},
confirmButton = {
TextButton(onClick = onConfirm) {
Text("Leave", color = MaterialTheme.colorScheme.error)
Text(stringRes(R.string.leave), color = MaterialTheme.colorScheme.error)
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text("Cancel")
Text(stringRes(R.string.cancel))
}
},
)
@@ -608,21 +613,21 @@ private fun ConfirmRemoveMemberDialog(
) {
AlertDialog(
onDismissRequest = onDismiss,
title = { Text("Remove Member") },
title = { Text(stringRes(R.string.marmot_remove_member)) },
text = {
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
val name = user?.toBestDisplayName() ?: "${memberPubkey.take(16)}..."
Text("Are you sure you want to remove \"$name\" from this group?")
val name = user?.toBestDisplayName() ?: stringRes(R.string.marmot_user_fallback_name, memberPubkey.take(16))
Text(stringRes(R.string.marmot_remove_member_confirm, name))
}
},
confirmButton = {
TextButton(onClick = onConfirm) {
Text("Remove", color = MaterialTheme.colorScheme.error)
Text(stringRes(R.string.remove), color = MaterialTheme.colorScheme.error)
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text("Cancel")
Text(stringRes(R.string.cancel))
}
},
)
@@ -637,24 +642,21 @@ private fun ConfirmGrantAdminDialog(
) {
AlertDialog(
onDismissRequest = onDismiss,
title = { Text("Grant Admin Privileges") },
title = { Text(stringRes(R.string.marmot_grant_admin_title)) },
text = {
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
val name = user?.toBestDisplayName() ?: "${memberPubkey.take(16)}..."
Text(
"Make \"$name\" an admin of this group? Admins can add or remove members, " +
"change group info, and grant admin privileges to other members.",
)
val name = user?.toBestDisplayName() ?: stringRes(R.string.marmot_user_fallback_name, memberPubkey.take(16))
Text(stringRes(R.string.marmot_grant_admin_confirm, name))
}
},
confirmButton = {
TextButton(onClick = onConfirm) {
Text("Grant")
Text(stringRes(R.string.marmot_grant))
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text("Cancel")
Text(stringRes(R.string.cancel))
}
},
)
@@ -669,21 +671,21 @@ private fun ConfirmRevokeAdminDialog(
) {
AlertDialog(
onDismissRequest = onDismiss,
title = { Text("Revoke Admin Privileges") },
title = { Text(stringRes(R.string.marmot_revoke_admin_title)) },
text = {
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
val name = user?.toBestDisplayName() ?: "${memberPubkey.take(16)}..."
Text("Revoke admin privileges from \"$name\"? They will remain a member of the group.")
val name = user?.toBestDisplayName() ?: stringRes(R.string.marmot_user_fallback_name, memberPubkey.take(16))
Text(stringRes(R.string.marmot_revoke_admin_confirm, name))
}
},
confirmButton = {
TextButton(onClick = onConfirm) {
Text("Revoke", color = MaterialTheme.colorScheme.error)
Text(stringRes(R.string.marmot_revoke), color = MaterialTheme.colorScheme.error)
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text("Cancel")
Text(stringRes(R.string.cancel))
}
},
)
@@ -817,7 +819,7 @@ fun RelayHealthSection(
Column(modifier = Modifier.fillMaxWidth()) {
Text(
text = "Relays",
text = stringRes(R.string.marmot_relays_header),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(horizontal = 16.dp, vertical = 12.dp),
@@ -854,9 +856,9 @@ private fun RelayHealthRow(
}
val subtitle =
if (lastSeen == null) {
"no events yet"
stringRes(R.string.marmot_relay_no_events)
} else {
"last event${timeAgo(lastSeen, context)}"
stringRes(R.string.marmot_relay_last_event, timeAgo(lastSeen, context))
}
Row(
modifier =
@@ -53,12 +53,14 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.model.marmotGroups.MarmotGroupChatroom
@@ -68,6 +70,7 @@ import com.vitorpamplona.amethyst.ui.navigation.routes.Route
import com.vitorpamplona.amethyst.ui.note.NonClickableUserPictures
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.header.DisplayUserSetAsSubject
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip01Core.core.HexKey
@OptIn(ExperimentalMaterial3Api::class)
@@ -110,17 +113,17 @@ fun MarmotGroupListScreen(
IconButton(onClick = { nav.popBack() }) {
Icon(
symbol = MaterialSymbols.AutoMirrored.ArrowBack,
contentDescription = "Back",
contentDescription = stringRes(R.string.back),
)
}
},
title = { Text("Marmot Groups") },
title = { Text(stringRes(R.string.marmot_groups_title)) },
)
},
floatingActionButton = {
FabBottomBarPadded(nav) {
FloatingActionButton(onClick = { nav.nav(Route.CreateMarmotGroup) }, shape = CircleShape) {
Icon(MaterialSymbols.Add, contentDescription = "Create Group")
Icon(MaterialSymbols.Add, contentDescription = stringRes(R.string.marmot_create_group))
}
}
},
@@ -132,7 +135,12 @@ fun MarmotGroupListScreen(
onClick = { selectedTab = 0 },
text = {
Text(
text = if (knownGroups.isEmpty()) "Known" else "Known (${knownGroups.size})",
text =
if (knownGroups.isEmpty()) {
stringRes(R.string.marmot_tab_known)
} else {
stringRes(R.string.marmot_tab_known_count, knownGroups.size)
},
)
},
)
@@ -141,7 +149,12 @@ fun MarmotGroupListScreen(
onClick = { selectedTab = 1 },
text = {
Text(
text = if (newRequestGroups.isEmpty()) "New Requests" else "New Requests (${newRequestGroups.size})",
text =
if (newRequestGroups.isEmpty()) {
stringRes(R.string.marmot_tab_new_requests)
} else {
stringRes(R.string.marmot_tab_new_requests_count, newRequestGroups.size)
},
)
},
)
@@ -157,16 +170,21 @@ fun MarmotGroupListScreen(
) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text(
text = if (selectedTab == 0) "No groups yet" else "No invitations",
text =
if (selectedTab == 0) {
stringRes(R.string.marmot_no_groups)
} else {
stringRes(R.string.marmot_no_invitations)
},
style = MaterialTheme.typography.titleMedium,
textAlign = TextAlign.Center,
)
Text(
text =
if (selectedTab == 0) {
"Create a group or accept an invitation."
stringRes(R.string.marmot_no_groups_desc)
} else {
"When someone adds you to a group it will show up here until you reply."
stringRes(R.string.marmot_no_invitations_desc)
},
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant,
@@ -266,7 +284,7 @@ fun MarmotGroupListItem(
)
} else {
Text(
text = "Group ${groupId.take(8)}...",
text = stringRes(R.string.marmot_group_fallback_name, groupId.take(8)),
style = MaterialTheme.typography.titleSmall,
fontWeight = if (unread > 0) FontWeight.Bold else FontWeight.Normal,
maxLines = 1,
@@ -284,7 +302,7 @@ fun MarmotGroupListItem(
)
} else {
Text(
text = "No messages yet",
text = stringRes(R.string.marmot_no_messages_yet),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(top = 2.dp),
@@ -311,7 +329,7 @@ fun MarmotGroupListItem(
}
} else {
Text(
text = "${chatroom.messages.size} msgs",
text = pluralStringResource(R.plurals.marmot_message_count, chatroom.messages.size, chatroom.messages.size),
style = MaterialTheme.typography.labelSmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
@@ -44,13 +44,13 @@ class MarmotFileSender(
dimensions = upload.dimensions,
blurhash = upload.blurhash,
thumbhash = upload.thumbhash,
alt = upload.caption,
)
accountViewModel.sendMarmotGroupMediaMessage(
nostrGroupId = nostrGroupId,
url = upload.url,
imeta = imeta,
caption = upload.caption,
)
}
}
@@ -66,10 +66,11 @@ class ChatFileSender(
blurhash = result.fileHeader.blurHash?.blurhash,
thumbhash = result.fileHeader.thumbHash?.thumbhash,
) {
// NIP-94 accessibility description of the file (kept; the deprecated
// generic NIP-31 boilerplate alt is not written).
if (!caption.isNullOrEmpty()) {
alt(caption)
}
contentWarningReason?.let { contentWarning(it) }
},
)
@@ -89,9 +90,6 @@ class ChatFileSender(
ChatMessageEvent.build(result.url, toUsers) {
references(listOf(result.url))
if (!caption.isNullOrEmpty()) {
alt(caption)
}
contentWarningReason?.let { contentWarning(it) }
imetas(iMetaAttachments.filterIsIn(setOf(result.url)))
@@ -61,6 +61,7 @@ import com.vitorpamplona.amethyst.ui.feeds.FeedEmpty
import com.vitorpamplona.amethyst.ui.feeds.FeedError
import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed
import com.vitorpamplona.amethyst.ui.feeds.PagerStateKeys
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.feeds.RefresheableBox
import com.vitorpamplona.amethyst.ui.feeds.SaveableFeedContentState
import com.vitorpamplona.amethyst.ui.feeds.SaveableGridFeedContentState
@@ -476,6 +477,8 @@ private fun DiscoverFeedLoaded(
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchLoadedFeedMedia(loaded, listState, accountViewModel)
LazyColumn(
contentPadding = rememberFeedContentPadding(FeedPadding),
state = listState,
@@ -511,6 +514,8 @@ private fun DiscoverFeedColumnsLoaded(
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchLoadedFeedMedia(loaded, listState, accountViewModel)
LazyVerticalGrid(
columns = GridCells.Fixed(2),
contentPadding = rememberFeedContentPadding(FeedPadding),
@@ -441,9 +441,9 @@ fun DvmPaymentActions(
}
if (amountInInvoice != null) {
Text(text = "Pay $amountInInvoice sats to the DVM")
Text(text = stringRes(R.string.dvm_pay_amount_to_dvm, amountInInvoice.toString()))
} else {
Text(text = "Pay Invoice from the DVM")
Text(text = stringRes(R.string.dvm_pay_invoice_from_dvm))
}
}
} else if (amount != null) {
@@ -42,6 +42,7 @@ import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.ui.feeds.FeedState
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.layouts.rememberFeedContentPadding
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.note.NoteCompose
@@ -71,6 +72,8 @@ fun HashtagFeedLoaded(
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchLoadedFeedMedia(loaded, listState, accountViewModel)
LazyColumn(
contentPadding = rememberFeedContentPadding(FeedPadding),
state = listState,
@@ -45,6 +45,7 @@ import com.vitorpamplona.amethyst.model.BooleanType
import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.model.accountsCache.AccountCacheState
import com.vitorpamplona.amethyst.service.ai.MockWritingAssistant
import com.vitorpamplona.amethyst.service.ai.WritingAssistant
import com.vitorpamplona.amethyst.service.ai.WritingAssistantFactory
@@ -113,6 +114,7 @@ import com.vitorpamplona.quartz.nip10Notes.tags.prepareETagsAsReplyTo
import com.vitorpamplona.quartz.nip18Reposts.quotes.quotes
import com.vitorpamplona.quartz.nip18Reposts.quotes.taggedQuoteIds
import com.vitorpamplona.quartz.nip22Comments.CommentEvent
import com.vitorpamplona.quartz.nip22Comments.notify
import com.vitorpamplona.quartz.nip30CustomEmoji.CustomEmoji
import com.vitorpamplona.quartz.nip30CustomEmoji.EmojiUrlTag
import com.vitorpamplona.quartz.nip30CustomEmoji.emojis
@@ -132,6 +134,7 @@ import com.vitorpamplona.quartz.nip72ModCommunities.definition.CommunityDefiniti
import com.vitorpamplona.quartz.nip88Polls.poll.PollEvent
import com.vitorpamplona.quartz.nip88Polls.poll.tags.OptionTag
import com.vitorpamplona.quartz.nip88Polls.poll.tags.PollType
import com.vitorpamplona.quartz.nip89AppHandlers.clientTag.isClient
import com.vitorpamplona.quartz.nip92IMeta.IMetaTagBuilder
import com.vitorpamplona.quartz.nip92IMeta.imetas
import com.vitorpamplona.quartz.nip94FileMetadata.alt
@@ -1087,6 +1090,38 @@ open class ShortNotePostViewModel :
contentWarningReason?.let { contentWarning(it) }
localExpirationDate?.let { expiration(it) }
emojis(emojis)
imetas(usedAttachments)
}
} else if (shouldReplyAsComment()) {
// NIP-22: replies to a brand-new Amethyst kind-1 thread root are sent as
// kind 1111 Comments instead of kind 1 replies.
val eventHint = originalNote?.toEventHint<Event>() ?: return null
CommentEvent.replyBuilder(tagger.message, eventHint) {
tagger.pTags?.let { userList ->
val tags =
userList.map {
val tag = it.toPTag()
if (tag.relayHint == null) {
tag.copy(relayHint = LocalCache.relayHints.hintsForKey(it.pubkeyHex).firstOrNull())
} else {
tag
}
}
notify(tags)
}
hashtags(findHashtags(tagger.message))
references(findURLs(tagger.message))
quotes(findNostrUris(tagger.message))
geoHash?.let { geohash(it) }
localZapRaiserAmount?.let { zapraiser(it) }
zapReceiver?.let { zapSplits(it) }
contentWarningReason?.let { contentWarning(it) }
localExpirationDate?.let { expiration(it) }
emojis(emojis)
imetas(usedAttachments)
}
@@ -1149,6 +1184,19 @@ open class ShortNotePostViewModel :
}
}
/**
* NIP-22: a reply should be a kind 1111 Comment (instead of a kind 1 reply) when
* the note being replied to is a kind 1 [TextNoteEvent], is the root of a new
* thread, and was itself posted from Amethyst. Forks keep using kind 1.
*/
private fun shouldReplyAsComment(): Boolean {
if (forkedFromNote != null) return false
val replyingToEvent = originalNote?.event ?: return false
return replyingToEvent is TextNoteEvent &&
replyingToEvent.isNewThread() &&
replyingToEvent.isClient(AccountCacheState.CLIENT_TAG_NAME)
}
fun findEmoji(
message: String,
myEmojiSet: List<EmojiMedia>?,
@@ -63,7 +63,6 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import java.time.Instant
import java.time.ZoneId
import java.time.format.DateTimeFormatter
@Stable
class CardFeedContentState(
@@ -266,7 +265,19 @@ class CardFeedContentState(
}
}
val sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd") // SimpleDateFormat()
// Notifications are bucketed per calendar day. Computing the day key as a
// raw epoch-day Long (instead of formatting a "yyyy-MM-dd" String per event)
// gives identical buckets and chronological ordering while avoiding a
// DateTimeFormatter + ZonedDateTime + String allocation for every single
// reaction/zap/repost — a meaningful GC saving on full feed conversions.
val zone = ZoneId.systemDefault()
fun epochDay(createdAt: Long?): Long =
Instant
.ofEpochSecond(createdAt ?: 0L)
.atZone(zone)
.toLocalDate()
.toEpochDay()
val allBaseNotes = zapsPerEvent.keys + boostsPerEvent.keys + reactionsPerEvent.keys + nutzapsPerEvent.keys
val multiCards =
@@ -278,21 +289,16 @@ class CardFeedContentState(
val singleList =
(boostsInCard + zapsInCard.map { it.response } + reactionsInCard + nutzapsInCard).groupBy {
sdf.format(
Instant
.ofEpochSecond(it.createdAt() ?: 0L)
.atZone(ZoneId.systemDefault())
.toLocalDateTime(),
)
epochDay(it.createdAt())
}
val days = singleList.keys.sortedBy { it }
days
.mapNotNull { string ->
.mapNotNull { day ->
val sortedList =
singleList
.get(string)
.get(day)
?.sortedWith(compareByDescending<Note> { it.createdAt() }.thenBy { it.idHex })
sortedList?.chunked(30)?.map { chunk ->
@@ -312,12 +318,7 @@ class CardFeedContentState(
.map { user ->
val byDay =
user.value.groupBy {
sdf.format(
Instant
.ofEpochSecond(it.createdAt() ?: 0L)
.atZone(ZoneId.systemDefault())
.toLocalDateTime(),
)
epochDay(it.createdAt())
}
byDay.values.map { zaps ->
@@ -338,12 +339,7 @@ class CardFeedContentState(
.map { user ->
val byDay =
user.value.groupBy {
sdf.format(
Instant
.ofEpochSecond(it.createdAt() ?: 0L)
.atZone(ZoneId.systemDefault())
.toLocalDateTime(),
)
epochDay(it.createdAt())
}
byDay.values.map { nutzaps ->
@@ -313,8 +313,11 @@ fun WatchAccountForNotifications(
) {
val listState by
accountViewModel.account.liveNotificationFollowLists.collectAsStateWithLifecycle()
val showMessages by
accountViewModel.account.settings.showMessagesInNotifications
.collectAsStateWithLifecycle()
LaunchedEffect(accountViewModel, listState) {
LaunchedEffect(accountViewModel, listState, showMessages) {
notifFeedContentState.checkKeysInvalidateDataAndSendToTop()
}
}
@@ -147,6 +147,51 @@ class NotificationFeedFilter(
VoiceReplyEvent.KIND,
) + ADDRESSABLE_KINDS
// How deep to walk a public chat reply chain looking for one of the
// user's own messages. Bounds the cost on very long threads; the
// visited-set guards against malformed cyclic replyTo links.
private const val PUBLIC_CHAT_ANCESTOR_SCAN_LIMIT = 30
/**
* Public chats (NIP-28, kind 42) routinely reply to a user without
* adding a `p` tag, so the normal mention gate ([Event.isTaggedUser])
* misses them. Treats a channel message as "for me" when one of my own
* messages appears in its reply chain — a direct reply to my message
* (the common case: "the previous message was mine") or a later message
* in a thread I'm already part of (an "active thread"). A kind-42
* `replyTo` holds only the immediate parent, so the chain is walked
* hop-by-hop through each cached ancestor.
*
* Cache-only (reads [Note.replyTo] + author, never the account), so the
* push dispatcher and the in-app feed can both relax their p-tag gate
* with it without loading the account or decrypting anything.
*/
fun isNotifiablePublicChatReply(
note: Note,
authorHex: HexKey,
): Boolean {
if (note.event !is ChannelMessageEvent) return false
// Top-level channel posts have no parent to reply to — bail before
// allocating the walk's scratch structures (the common case).
val parents = note.replyTo
if (parents.isNullOrEmpty()) return false
var scanned = 0
val seen = HashSet<HexKey>()
val toVisit = ArrayDeque(parents)
while (toVisit.isNotEmpty() && scanned < PUBLIC_CHAT_ANCESTOR_SCAN_LIMIT) {
val ancestor = toVisit.removeFirst()
if (!seen.add(ancestor.idHex)) continue
scanned++
if (ancestor.author?.pubkeyHex == authorHex) return true
ancestor.replyTo?.let { toVisit.addAll(it) }
}
return false
}
// Shared with EventNotificationConsumer so push notifications and the
// in-app feed apply the same per-kind "is this event for me" rule.
fun tagsAnEventByUser(
@@ -155,6 +200,11 @@ class NotificationFeedFilter(
): Boolean {
val event = note.event
// Public chat replies into my messages, even without a p-tag.
if (isNotifiablePublicChatReply(note, authorHex)) {
return true
}
if (event is GitIssueEvent || event is GitPatchEvent) {
return true
}
@@ -246,7 +296,7 @@ class NotificationFeedFilter(
}
}
override fun feedKey(): String = account.userProfile().pubkeyHex + "-" + followList().code
override fun feedKey(): String = account.userProfile().pubkeyHex + "-" + followList().code + "-" + account.settings.showMessagesInNotifications.value
fun followList(): TopFilter = modeOverride ?: account.settings.defaultNotificationFollowList.value
@@ -299,6 +349,10 @@ class NotificationFeedFilter(
): Boolean {
val loggedInUserHex = account.userProfile().pubkeyHex
// When the user opts out of seeing Messages on the Notification tab, drop
// direct/group message events (DMs and Marmot group chats) entirely.
val showMessages = account.settings.showMessagesInNotifications.value
// Marmot group messages are only acceptable if the gathering chatroom is
// actually in the current account's group list. Notes are stored in the
// global LocalCache and accumulate a gatherer reference from every
@@ -308,6 +362,7 @@ class NotificationFeedFilter(
// instance held by this account's list.
val marmotGatherers = it.inGatherers?.filterIsInstance<MarmotGroupChatroom>()
if (!marmotGatherers.isNullOrEmpty()) {
if (!showMessages) return false
val inCurrentAccount =
marmotGatherers.any { room ->
account.marmotGroupList.rooms.get(room.nostrGroupId) === room
@@ -317,6 +372,16 @@ class NotificationFeedFilter(
}
val noteEvent = it.event
if (!showMessages &&
(
noteEvent is ChatMessageEvent ||
noteEvent is ChatMessageEncryptedFileHeaderEvent ||
noteEvent is PrivateDmEvent
)
) {
return false
}
val notifAuthor =
if (noteEvent is LnZapEvent) {
val zapRequest = noteEvent.zapRequest
@@ -355,10 +420,17 @@ class NotificationFeedFilter(
// follow/list modes) also applies the per-kind relevance heuristics.
val isRawGlobal = followList() is TopFilter.Global
// The p-tag gate is OR'd with isNotifiablePublicChatReply so channel
// replies into my messages still notify without a p-tag. Kept inline
// (not a pre-computed val) so the cheap kind check short-circuits ahead
// of the tag scan + reply walk, which is also why the cheaper tag scan
// is ordered first within the OR. In Global mode this is the only
// relevance check (tagsAnEventByUser is skipped below); it still scopes
// to genuine replies, so unrelated channel chatter never leaks through.
return noteEvent?.kind in NOTIFICATION_KINDS &&
(noteEvent is LnZapEvent || notifAuthor != loggedInUserHex) &&
(isChessEvent || filterParams.isGlobal() || notifAuthor == null || filterParams.isAuthorInFollows(notifAuthor)) &&
noteEvent?.isTaggedUser(loggedInUserHex) ?: false &&
(noteEvent?.isTaggedUser(loggedInUserHex) == true || isNotifiablePublicChatReply(it, loggedInUserHex)) &&
(filterParams.isHiddenList || notifAuthor == null || !account.isHidden(notifAuthor)) &&
(noteEvent !is PrivateDmEvent || !account.isDecryptedContentHidden(noteEvent)) &&
(isRawGlobal || tagsAnEventByUser(it, loggedInUserHex))
@@ -39,6 +39,7 @@ import com.vitorpamplona.amethyst.ui.actions.CrossfadeIfEnabled
import com.vitorpamplona.amethyst.ui.feeds.FeedEmpty
import com.vitorpamplona.amethyst.ui.feeds.FeedError
import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.layouts.rememberFeedContentPadding
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
@@ -97,6 +98,8 @@ private fun ProductsFeedColumnsLoaded(
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchLoadedFeedMedia(loaded, listState, accountViewModel)
LazyVerticalGrid(
columns = GridCells.Fixed(2),
contentPadding = rememberFeedContentPadding(FeedPadding),
@@ -38,6 +38,7 @@ import com.vitorpamplona.amethyst.ui.actions.CrossfadeIfEnabled
import com.vitorpamplona.amethyst.ui.feeds.FeedEmpty
import com.vitorpamplona.amethyst.ui.feeds.FeedError
import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.screen.FeedViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
@@ -91,6 +92,8 @@ private fun GalleryFeedLoaded(
) {
val items by loaded.feed.collectAsStateWithLifecycle()
PrefetchLoadedFeedMedia(loaded, listState, accountViewModel)
val ratio =
if (accountViewModel.settings.modernGalleryStyle()) {
0.8f
@@ -39,6 +39,7 @@ import com.vitorpamplona.amethyst.commons.ui.feeds.FeedState
import com.vitorpamplona.amethyst.ui.feeds.FeedEmpty
import com.vitorpamplona.amethyst.ui.feeds.FeedError
import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed
import com.vitorpamplona.amethyst.ui.feeds.PrefetchLoadedFeedMedia
import com.vitorpamplona.amethyst.ui.feeds.RefresheableBox
import com.vitorpamplona.amethyst.ui.feeds.StickToTopOnPrepend
import com.vitorpamplona.amethyst.ui.feeds.WatchScrollToTop
@@ -96,6 +97,7 @@ fun TabNotesNewThreads(
}
is FeedState.Loaded -> {
PrefetchLoadedFeedMedia(state, listState, accountViewModel)
FeedLoadedWithPinnedNotes(
pinnedFeedState = pinnedFeedState as? FeedState.Loaded,
loaded = state,
@@ -115,6 +115,8 @@ private fun DeliverySection(accountViewModel: AccountViewModel) {
private fun DisplaySection(accountViewModel: AccountViewModel) {
val splitByFollows by accountViewModel.account.settings.splitNotificationsEnabled
.collectAsStateWithLifecycle()
val showMessages by accountViewModel.account.settings.showMessagesInNotifications
.collectAsStateWithLifecycle()
SettingsSection(R.string.notification_settings_section_display) {
SettingsSwitchTile(
@@ -124,6 +126,14 @@ private fun DisplaySection(accountViewModel: AccountViewModel) {
checked = splitByFollows,
onCheckedChange = { accountViewModel.account.settings.toggleSplitNotificationsEnabled() },
)
SettingsDivider()
SettingsSwitchTile(
icon = MaterialSymbols.Mail,
title = R.string.show_messages_in_notifications_setting_title,
description = R.string.show_messages_in_notifications_setting_description,
checked = showMessages,
onCheckedChange = { accountViewModel.account.settings.toggleShowMessagesInNotifications() },
)
}
}
@@ -55,9 +55,11 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.model.nip03Timestamp.OtsSettings
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.quartz.nip03Timestamp.okhttp.OkHttpBitcoinExplorer
/**
@@ -121,7 +123,7 @@ fun OtsSettingsSection(
modifier = Modifier.size(16.dp),
)
Spacer(Modifier.width(4.dp))
Text("Reset to auto-select")
Text(stringRes(R.string.ots_reset_to_auto_select))
}
}
}
@@ -269,7 +271,7 @@ private fun CustomExplorerInput(
input = it
validationError = null
},
label = { Text("Explorer API base URL") },
label = { Text(stringRes(R.string.ots_explorer_api_label)) },
placeholder = { Text("https://mempool.space/api/") },
singleLine = true,
isError = validationError != null,
@@ -286,7 +288,7 @@ private fun CustomExplorerInput(
}) {
Icon(
MaterialSymbols.Clear,
contentDescription = "Clear",
contentDescription = stringRes(R.string.clear),
modifier = Modifier.size(18.dp),
)
}
@@ -312,7 +314,7 @@ private fun CustomExplorerInput(
onClick = { trySave() },
modifier = Modifier.padding(top = 6.dp),
) {
Text("Save")
Text(stringRes(R.string.save))
}
}
}
@@ -500,8 +500,13 @@ class CashuWalletViewModel : ViewModel() {
ops.publishWalletEvents(
mints = mints,
p2pkPrivkeyHex = privkey,
// Advertise our NIP-65 inbox relays as the nutzap relays,
// so senders publish kind:9321 where we read incoming
// events (NIP-65 outbox model). The kind:10019 default
// copies the inbox relay list, not outbox; the wallet
// still subscribes to a wider inbox + DM + tags set.
nutzapRelays =
acc.outboxRelays.flow.value
acc.notificationRelays.flow.value
.toList(),
)
_createState.value = CashuWalletCreateState.Success
@@ -372,7 +372,7 @@ private fun ActionRow(
modifier = Modifier.size(14.dp),
)
Spacer(modifier = Modifier.width(4.dp))
Text("Copy", style = MaterialTheme.typography.bodySmall)
Text(stringRes(R.string.copy), style = MaterialTheme.typography.bodySmall)
}
Spacer(modifier = Modifier.weight(1f))
@@ -393,7 +393,7 @@ private fun ActionRow(
modifier = Modifier.size(14.dp),
)
Spacer(modifier = Modifier.width(4.dp))
Text("Send", style = MaterialTheme.typography.bodySmall, fontWeight = FontWeight.SemiBold)
Text(stringRes(R.string.send), style = MaterialTheme.typography.bodySmall, fontWeight = FontWeight.SemiBold)
}
}
@@ -0,0 +1,138 @@
/*
* Copyright (c) 2025 Vitor Pamplona
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
* Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.vitorpamplona.amethyst.ui.screen.loggedIn.workouts
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbol
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.model.toImmutableListOfLists
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.components.SensitivityWarning
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.quartz.experimental.fitness.workout.ExerciseTemplateEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.slugToTitle
/** Icon for the equipment of a kind-33401 exercise template. */
private fun equipmentSymbol(equipment: String?): MaterialSymbol =
when (equipment?.lowercase()) {
"cardio" -> MaterialSymbols.DirectionsRun
else -> MaterialSymbols.FitnessCenter
}
/** Renders a kind-33401 exercise template (POWR / NIP-101e): title, equipment/difficulty, instructions. */
@Composable
fun ExerciseTemplateDisplay(
baseNote: Note,
backgroundColor: MutableState<Color>,
canPreview: Boolean,
quotesLeft: Int,
accountViewModel: AccountViewModel,
nav: INav,
) {
val event = (baseNote.event as? ExerciseTemplateEvent) ?: return
val title = remember(event) { event.title() ?: event.dTag().ifBlank { null }?.let(::slugToTitle) }
val equipment = remember(event) { event.equipment() }
val difficulty = remember(event) { event.difficulty() }
val subtitle = remember(event) { listOfNotNull(equipment, difficulty).joinToString(" · ") { it.replaceFirstChar(Char::uppercaseChar) } }
Column(modifier = Modifier.fillMaxWidth().padding(horizontal = 10.dp, vertical = 5.dp)) {
Row(verticalAlignment = Alignment.CenterVertically) {
Box(
modifier =
Modifier
.size(40.dp)
.clip(CircleShape)
.background(MaterialTheme.colorScheme.primary.copy(alpha = 0.12f)),
contentAlignment = Alignment.Center,
) {
Icon(
symbol = equipmentSymbol(equipment),
contentDescription = title,
modifier = Modifier.size(24.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
Spacer(modifier = Modifier.width(10.dp))
Column(modifier = Modifier.weight(1f)) {
Text(
text = title ?: subtitle.ifEmpty { "" },
fontWeight = FontWeight.Bold,
style = MaterialTheme.typography.titleMedium,
)
if (subtitle.isNotEmpty()) {
Text(
text = subtitle,
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.placeholderText,
)
}
}
}
// Form instructions / notes, through the same kind-1 rich-text pipeline.
val notes = event.content.trim()
if (notes.isNotEmpty()) {
val callbackUri = remember(baseNote) { baseNote.toNostrUri() }
val tags = remember(baseNote) { event.tags.toImmutableListOfLists() }
SensitivityWarning(note = baseNote, accountViewModel = accountViewModel) {
TranslatableRichTextViewer(
content = notes,
canPreview = canPreview,
quotesLeft = quotesLeft,
modifier = Modifier.fillMaxWidth().padding(top = 12.dp),
tags = tags,
backgroundColor = backgroundColor,
id = baseNote.idHex,
callbackUri = callbackUri,
accountViewModel = accountViewModel,
nav = nav,
)
}
}
}
}
@@ -37,6 +37,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -50,18 +51,23 @@ import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbol
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
import com.vitorpamplona.amethyst.commons.model.toImmutableListOfLists
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.observeNoteEvent
import com.vitorpamplona.amethyst.ui.components.SensitivityWarning
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.note.LoadAddressableNote
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.quartz.experimental.fitness.workout.ExerciseGroup
import com.vitorpamplona.quartz.experimental.fitness.workout.ExerciseTemplateEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.WorkoutRecordEvent
import com.vitorpamplona.quartz.experimental.fitness.workout.tags.DistanceTag
import com.vitorpamplona.quartz.experimental.fitness.workout.tags.DurationTag
import com.vitorpamplona.quartz.experimental.fitness.workout.tags.Elevation
import com.vitorpamplona.quartz.experimental.fitness.workout.tags.ExerciseType
import com.vitorpamplona.quartz.experimental.fitness.workout.tags.WeightTag
import com.vitorpamplona.quartz.nip01Core.core.Address
import kotlin.math.abs
import kotlin.math.round
@@ -78,6 +84,9 @@ fun ExerciseType?.symbol(): MaterialSymbol =
ExerciseType.MEDITATION -> MaterialSymbols.SelfImprovement
ExerciseType.DIET -> MaterialSymbols.Restaurant
ExerciseType.FASTING -> MaterialSymbols.Timer
ExerciseType.CIRCUIT -> MaterialSymbols.FitnessCenter
ExerciseType.EMOM -> MaterialSymbols.FitnessCenter
ExerciseType.AMRAP -> MaterialSymbols.FitnessCenter
null -> MaterialSymbols.DirectionsRun
}
@@ -94,6 +103,9 @@ fun ExerciseType.labelRes(): Int =
ExerciseType.MEDITATION -> R.string.exercise_meditation
ExerciseType.DIET -> R.string.exercise_diet
ExerciseType.FASTING -> R.string.exercise_fasting
ExerciseType.CIRCUIT -> R.string.exercise_circuit
ExerciseType.EMOM -> R.string.exercise_emom
ExerciseType.AMRAP -> R.string.exercise_amrap
}
private fun Double.trimmed(): String = if (this % 1.0 == 0.0 && abs(this) < 1e15) toLong().toString() else toString()
@@ -148,12 +160,44 @@ private fun WeightTag.toDisplay(miles: Boolean): WeightTag =
WeightTag(round(toKilograms() * 10.0) / 10.0, WeightTag.KILOGRAMS)
}
/** Renders a kilogram weight (POWR's native unit) in the viewer's preferred unit, e.g. `84 kg` or `185 lbs`. */
private fun formatWeightKg(
kg: Double,
miles: Boolean,
): String {
val display = WeightTag(kg, WeightTag.KILOGRAMS).toDisplay(miles)
return "${display.value.trimmed()} ${display.unit}"
}
/** One readable line summarizing the sets logged for a single exercise. */
private fun ExerciseGroup.summaryLine(miles: Boolean): String {
val descriptors =
sets.map { set ->
val reps = set.reps
val kg = set.weightKg?.takeIf { it > 0.0 }
when {
kg != null && reps != null -> "$reps × ${formatWeightKg(kg, miles)}"
reps != null -> "$reps reps"
kg != null -> formatWeightKg(kg, miles)
else -> "—"
}
}
if (descriptors.isEmpty()) return ""
// Collapse identical sets (e.g. 3 sets of 8 × 84 kg) into "3 × 8 × 84 kg".
return if (descriptors.size > 1 && descriptors.distinct().size == 1) {
"${descriptors.size} × ${descriptors.first()}"
} else {
descriptors.joinToString(", ")
}
}
/** One-shot snapshot of the parsed workout tags, so the feed doesn't re-scan the tag array on every recomposition. */
@Immutable
class WorkoutInfo(
val title: String?,
val type: ExerciseType?,
val exerciseRaw: String?,
val typeRaw: String?,
val source: String?,
val durationSeconds: Long?,
val distance: DistanceTag?,
@@ -166,6 +210,8 @@ class WorkoutInfo(
val sets: Int?,
val reps: Int?,
val weight: WeightTag?,
// POWR / NIP-101e strength dialect: per-exercise logged sets (weights are in kilograms).
val exerciseGroups: List<ExerciseGroup>,
) {
/** Rewrites the unit-bearing metrics into the viewer's preferred system (miles/feet/lbs vs km/m/kg). */
fun inUnits(miles: Boolean) =
@@ -173,6 +219,7 @@ class WorkoutInfo(
title = title,
type = type,
exerciseRaw = exerciseRaw,
typeRaw = typeRaw,
source = source,
durationSeconds = durationSeconds,
distance = distance?.toDisplay(miles),
@@ -185,16 +232,19 @@ class WorkoutInfo(
sets = sets,
reps = reps,
weight = weight?.toDisplay(miles),
// Kept in kilograms; the breakdown converts per the viewer's unit at render time.
exerciseGroups = exerciseGroups,
)
companion object {
fun from(event: WorkoutRecordEvent) =
WorkoutInfo(
title = event.title(),
type = event.exerciseType(),
type = event.activityType(),
exerciseRaw = event.exercise(),
source = event.workoutSource(),
durationSeconds = event.durationSeconds(),
typeRaw = event.workoutTypeCode(),
source = event.workoutSource() ?: event.client(),
durationSeconds = event.effectiveDurationSeconds(),
distance = event.distance(),
elevationGain = event.elevationGain(),
elevationLoss = event.elevationLoss(),
@@ -205,6 +255,7 @@ class WorkoutInfo(
sets = event.sets(),
reps = event.reps(),
weight = event.weight(),
exerciseGroups = event.exerciseGroups(),
)
}
}
@@ -232,7 +283,11 @@ fun WorkoutDisplay(
val miles = remember { phonePrefersMiles() }
val info = remember(baseNote, miles) { WorkoutInfo.from(event).inUnits(miles) }
val typeLabel = info.type?.let { stringRes(it.labelRes()) } ?: info.exerciseRaw ?: stringRes(R.string.workout)
val typeLabel =
info.type?.let { stringRes(it.labelRes()) }
?: info.exerciseRaw
?: info.typeRaw?.replaceFirstChar { it.uppercaseChar() }
?: stringRes(R.string.workout)
val duration = info.durationSeconds
val distance = info.distance
@@ -250,6 +305,7 @@ fun WorkoutDisplay(
buildSecondaryStats(
info = info,
heroKind = heroKind,
miles = miles,
durationLabel = stringRes(R.string.workout_duration),
distanceLabel = stringRes(R.string.workout_distance),
paceLabel = stringRes(R.string.workout_pace),
@@ -263,6 +319,8 @@ fun WorkoutDisplay(
setsLabel = stringRes(R.string.workout_sets),
repsLabel = stringRes(R.string.workout_reps),
weightLabel = stringRes(R.string.workout_weight),
exercisesLabel = stringRes(R.string.workout_exercises),
volumeLabel = stringRes(R.string.workout_volume),
)
Column(modifier = Modifier.fillMaxWidth().padding(horizontal = 10.dp, vertical = 5.dp)) {
@@ -318,6 +376,10 @@ fun WorkoutDisplay(
WorkoutStatsGrid(secondaryStats)
if (info.exerciseGroups.isNotEmpty()) {
ExerciseBreakdown(info.exerciseGroups, miles, accountViewModel)
}
// Route the note (event content) through the same kind-1 pipeline: rich text with
// links/mentions/hashtags, embeds, sensitivity warning and inline translations.
val notes = event.content.trim()
@@ -346,6 +408,7 @@ fun WorkoutDisplay(
private fun buildSecondaryStats(
info: WorkoutInfo,
heroKind: HeroKind,
miles: Boolean,
durationLabel: String,
distanceLabel: String,
paceLabel: String,
@@ -359,11 +422,21 @@ private fun buildSecondaryStats(
setsLabel: String,
repsLabel: String,
weightLabel: String,
exercisesLabel: String,
volumeLabel: String,
): List<Stat> {
val duration = info.durationSeconds
val distance = info.distance
return buildList {
// POWR / NIP-101e strength workouts: aggregate the per-set exercise tags.
val groups = info.exerciseGroups
if (groups.isNotEmpty()) {
add(Stat("${groups.size}", exercisesLabel))
add(Stat("${groups.sumOf { it.sets.size }}", setsLabel))
val volumeKg = groups.mapNotNull { it.totalVolumeKg() }.takeIf { it.isNotEmpty() }?.sum()
volumeKg?.let { add(Stat(formatWeightKg(it, miles), volumeLabel)) }
}
if (heroKind != HeroKind.DURATION) {
duration?.let { add(Stat(DurationTag.formatTime(it), durationLabel)) }
}
@@ -454,6 +527,72 @@ private fun WorkoutStatsGrid(
}
}
/** Per-exercise breakdown for POWR / NIP-101e strength workouts: exercise name + its logged sets. */
@Composable
private fun ExerciseBreakdown(
groups: List<ExerciseGroup>,
miles: Boolean,
accountViewModel: AccountViewModel,
) {
Column(
modifier = Modifier.fillMaxWidth().padding(top = 12.dp),
verticalArrangement = Arrangement.spacedBy(8.dp),
) {
groups.forEach { group ->
ExerciseRow(group, miles, accountViewModel)
}
}
}
@Composable
private fun ExerciseRow(
group: ExerciseGroup,
miles: Boolean,
accountViewModel: AccountViewModel,
) {
val fallback = group.displayName() ?: "—"
val address = remember(group.reference) { Address.parse(group.reference) }
if (address == null) {
ExerciseRowContent(fallback, group.summaryLine(miles))
return
}
// Resolve the kind-33401 template to show its real title; falls back to the slug
// until the template is fetched (the workout event's relay hints drive the fetch).
LoadAddressableNote(address, accountViewModel) { templateNote ->
val name =
if (templateNote != null) {
val templateEvent by observeNoteEvent<ExerciseTemplateEvent>(templateNote, accountViewModel)
templateEvent?.title() ?: fallback
} else {
fallback
}
ExerciseRowContent(name, group.summaryLine(miles))
}
}
@Composable
private fun ExerciseRowContent(
name: String,
summary: String,
) {
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.Top) {
Text(
text = name,
style = MaterialTheme.typography.bodyMedium,
fontWeight = FontWeight.Medium,
modifier = Modifier.weight(1f),
)
Spacer(modifier = Modifier.width(8.dp))
Text(
text = summary,
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.placeholderText,
)
}
}
/** Small chip showing how the workout was recorded (e.g. GPS, RUNSTR, HEALTHKIT, MANUAL). */
@Composable
private fun WorkoutSourceBadge(source: String) {
+1 -137
View File
@@ -19,8 +19,6 @@
<string name="impersonation">أنتحال</string>
<string name="illegal_behavior">تصرف غير قانوني</string>
<string name="other">أخرى</string>
<string name="unknown">غير معروف</string>
<string name="relay_icon">أيقونة المرحل</string>
<string name="unknown_author">كاتب غير معروف</string>
<string name="copy_text">نسخ النص</string>
<string name="copy_user_pubkey">نسخ المفتاح العام</string>
@@ -31,12 +29,9 @@
<string name="block_hide_user"><![CDATA[حظر و إخفاء المستخدم]]></string>
<string name="report_spam_scam">الإبلاغ عن إزعاج / احتيال</string>
<string name="report_impersonation">الإبلاغ عن انتحال الشخصية</string>
<string name="report_explicit_content">الإبلاغ عن المحتوى الصريح / الفاضح</string>
<string name="report_illegal_behaviour">الإبلاغ عن سلوك غير قانوني</string>
<string name="report_malware">الإبلاغ عن برمجيات خبيثة</string>
<string name="report_mod">إبلاغ المشرفين</string>
<string name="malware">برمجية خبيثة</string>
<string name="mod">مشرف</string>
<string name="login_with_a_private_key_to_be_able_to_reply">قم بتسجيل الدخول باستخدام مفتاح خاص لتتمكن من الرد</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">قم بتسجيل الدخول باستخدام مفتاح خاص لتتمكن من تعزيز المشاركات</string>
<string name="login_with_a_private_key_to_like_posts">تسجيل الدخول باستخدام مفتاح خاص لإبداء الإعجاب بالمنشورات</string>
@@ -47,7 +42,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">قم بتسجيل الدخول باستخدام مفتاحك السري لتتمكن من إخفاء الكلمة أو الجملة</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">قم بتسجيل الدخول باستخدام مفتاحك السري لتتمكن من إظهار الكلمة أو الجملة</string>
<string name="zaps">زاب</string>
<string name="view_count">مشاهدة العد</string>
<string name="boost">تعزيز</string>
<string name="boosted">معزز</string>
<string name="edited">معدلة</string>
@@ -60,9 +54,7 @@
<string name="add">إضافة</string>
<string name="replying_to">"الرد على"</string>
<string name="and">" و "</string>
<string name="in_channel">"في القناة "</string>
<string name="profile_banner">لافتة الملف الشخصي</string>
<string name="payment_successful">تم الدفع بنجاح</string>
<string name="error_parsing_error_message">خطأ أثناء تحليل رسالة الخطأ</string>
<string name="following">"المتابعون"</string>
<string name="followers">"متابِعاً"</string>
@@ -83,9 +75,7 @@
<string name="secret_note_to_receiver_placeholder">رسالتي المخفية</string>
<string name="secret_visible_text">بادئة مرئية</string>
<string name="secret_add_to_text">إضافة إلى المنشور</string>
<string name="error_parsing_preview_for">"خطأ في تحليل المعاينة لـ %1$s : %2$s"</string>
<string name="preview_card_image_for">"معاينة صورة البطاقة لـ %1$s"</string>
<string name="new_channel">قناة جديدة</string>
<string name="channel_name">اسم القناة</string>
<string name="my_awesome_group">مجموعتي الرائعة</string>
<string name="picture_url">رابط الصورة</string>
@@ -96,33 +86,18 @@
<string name="save">حفظ</string>
<string name="create">إنشاء</string>
<string name="cancel">إلغاء</string>
<string name="failed_to_upload_the_image">فشل تحميل الصورة</string>
<string name="relay_address"> عنوان الخادم (Relay Adress)</string>
<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>
<string name="global_feed">الموجز العام</string>
<string name="search_feed">البحث</string>
<string name="add_a_relay">أضف Relay</string>
<string name="profile_name">الإسم</string>
<string name="display_name">إسم العرض</string>
<string name="my_display_name">إسم العرض الخاص بي</string>
<string name="my_awesome_name">اسمي المميز</string>
<string name="welcome">مرحبا بك!</string>
<string name="username">اسم المستخدم</string>
<string name="my_username">اسم المستخدم الخاص بي</string>
<string name="about_me">ْعَنِّي</string>
<string name="avatar_url">رابط الصورة الزمزية</string>
<string name="banner_url">رابط الشعار</string>
<string name="website_url">رابط الموقع</string>
<string name="pronouns">الضمائر</string>
<string name="ln_address">LN عنوان</string>
<string name="ln_url_outdated">LN رابط (قديم)</string>
<string name="save_to_gallery">حفظه في معرض الصور</string>
<string name="image_saved_to_the_gallery">تم حفظ الصورة في المعرض</string>
<string name="video_download_has_started_toast">بدأ تنزيل الفيديو…</string>
<string name="media_download_has_started_toast">بدأ تنزيل الوسائط…</string>
@@ -130,11 +105,8 @@
<string name="video_saved_to_the_gallery">تم حفظ الفيديو في الجهاز</string>
<string name="failed_to_save_the_video">فشل حفظ الفيديو</string>
<string name="upload_image">تحميل الصورة</string>
<string name="uploading">جاري التحميل…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">لا يمتلك المستخدم عنوان (Lightning Address) لاستقبال sats</string>
<string name="reply_here">"الرد هنا…"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">نسخ معرف الملاحظة إلى الحافظة للمشاركة</string>
<string name="copy_channel_id_note_to_the_clipboard">انسخ معرف القناة (ملاحظة) إلى الحافظة</string>
<string name="edits_the_channel_metadata">تعديل البيانات الوصفية للقناة</string>
<string name="join">إنضمام</string>
<string name="known">معروف</string>
@@ -146,18 +118,14 @@
<string name="replies">الردود</string>
<string name="mutual">الخاص بك</string>
<string name="gallery">الألبوم</string>
<string name="follows">"المتابَعون"</string>
<string name="reports">"التقارير"</string>
<string name="more_options">المزيد من الخيارات</string>
<string name="relays">"Relays"</string>
<string name="website">الموقع</string>
<string name="lightning_address">Lightning عنوان</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">نسخ معرف Nsec (كلمة المرور الخاصة بك) إلى الحافظة للنسخ الاحتياطي</string>
<string name="copy_private_key_to_the_clipboard">نسخ المفتاح الخاص إلى الحافظة</string>
<string name="show_private_key_qr_code">إظهار رمز QR المفتاح الخاص</string>
<string name="show_encrypted_private_key_qr_code">إظهار رمز QR المفتاح الخاص المشفر</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">نسخ المفتاح العام إلى الحافظة للمشاركة</string>
<string name="copy_public_key_npub_to_the_clipboard">انسخ المفتاح العام (NPub) إلى الحافظة</string>
<string name="send_a_direct_message">إرسال رسالة مباشرة</string>
<string name="edits_the_user_s_metadata">القيام بتحرير metadata للمستخدم</string>
<string name="follow">متابعة</string>
@@ -186,8 +154,6 @@
<string name="how_should_we_call_you">كيف ينبغي أن ندعوك؟</string>
<string name="don_t_have_an_account">ليس لديك حساب؟</string>
<string name="already_have_an_account">هل لديك حساب nostr بالفعل؟</string>
<string name="create_a_new_account">أنشئ حسابًا جديدًا</string>
<string name="generate_a_new_key">إنشاء مفتاح جديد</string>
<string name="loading_feed">بإنتظار التحديثات</string>
<string name="loading_account">جاري تحميل الحساب</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
@@ -197,12 +163,6 @@
<string name="notification_feed_is_empty">لا توجد إشعارات حتى الآن.</string>
<string name="feed_is_empty">لا توجد ملاحظات.</string>
<string name="refresh">تحديث</string>
<string name="created">انشئ</string>
<string name="with_description_of">مع وصف</string>
<string name="and_picture">و صورة</string>
<string name="changed_chat_name_to">تم تغيير اسم الدردشة إلى</string>
<string name="description_to">الوصف الى</string>
<string name="and_picture_to">و الصورة الى</string>
<string name="leave">مغادرة</string>
<string name="unfollow">الغاء المتابعة</string>
<string name="channel_created">تم انشاء القناة</string>
@@ -228,7 +188,6 @@
<string name="profanity_hateful_speech">الألفاظ النابية / خطاب كراهية</string>
<string name="report_hateful_speech">أبلغ عن كلام يحض على الكراهية</string>
<string name="report_nudity_porn">الإبلاغ عن عُري / إباحي</string>
<string name="others">آخرون</string>
<string name="mark_all_known_as_read">ضع علامة على جميع الرسائل/الاشعارات المعروفة كمقروء</string>
<string name="mark_all_new_as_read">ضع علامة على جميع الرسائل/الاشعارات الجديدة كمقروء</string>
<string name="mark_all_as_read">ضع علامة على جميع الرسائل/الاشعارات كمقروء</string>
@@ -247,15 +206,12 @@
<string name="copy_my_secret_key">إنسخ مفتاحي السري</string>
<string name="encrypt_and_copy_my_secret_key">تشفير و نسخ المفتاح الخاص</string>
<string name="biometric_authentication_failed">فشلت المصادقة</string>
<string name="biometric_error">خطأ</string>
<string name="badge_created_by">"تم إنشاؤه بواسطة %1$s"</string>
<string name="badge_award_image_for">"صورة شارة مكافئة ل %1$s"</string>
<string name="new_badge_award_notif">لقد حصلت على شارة جائزة جديدة</string>
<string name="award_granted_to">شارة الجائزة منحت إلى</string>
<string name="copied_note_text_to_clipboard">تم نسخ نص الملاحظة/المنشور إلى الحافظة</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">تم نسخ عنوان @npub المؤلف إلى الحافظة</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">تم نسخ رمز الملاحظة/المنشور (note ID) إلى الحافظة</string>
<string name="select_text_dialog_top">تحديد نص</string>
<string name="private_conversation_notification">"&lt;استحالة فك تشفير الرسالة الخاصة&gt;
\n\n أنت الآن في محادثة خاصة/مشفرة بين %1$s و %2$s ."</string>
<string name="account_switch_add_account_dialog_title">إضافة حساب جديد</string>
@@ -263,8 +219,6 @@
<string name="account_switch_select_account">اختر حساب</string>
<string name="account_switch_add_account_btn">إضافة حساب جديد</string>
<string name="account_switch_active_account">تنشيط الحساب</string>
<string name="account_switch_has_private_key">يحتوي على مفتاح خاص</string>
<string name="account_switch_pubkey_only">قراءة فقط، لا يوجد مفتاح خاص</string>
<string name="back">رجوع</string>
<string name="quick_action_select">اختر</string>
<string name="quick_action_share_browser_link">شارك رابط المتصفح</string>
@@ -282,14 +236,12 @@
<string name="quick_action_delete_dialog_btn">حذف</string>
<string name="quick_action_block">حظر</string>
<string name="quick_action_report">التبليغ</string>
<string name="quick_action_delete_button">حذف</string>
<string name="quick_action_dont_show_again_button">لا تظهر مرة أخرى</string>
<string name="report_dialog_spam">رسائل مزعجة أو رسائل خداع</string>
<string name="report_dialog_profanity">سلوك بغيض</string>
<string name="report_dialog_impersonation">انتحال الشخصية</string>
<string name="report_dialog_nudity">محتوى دموي أو خادش للحياء</string>
<string name="report_dialog_illegal">تصرف غير قانوني</string>
<string name="report_dialog_malware">برمجية خبيثة</string>
<string name="report_dialog_blocking_a_user">حظر المستخدم سوف يخفي محتواه في التطبيق الخاص بك. ملاحظاتك لا تزال قابلة للعرض علناً، بما في ذلك للأشخاص الذين تقوم بحظرهم. يتم إدراج المستخدمين المحظورين على شاشة مرشحات الأمان (Security Filters screen).</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[حظر و إخفاء المستخدم]]></string>
<string name="report_dialog_report_btn">الإبلاغ عن إساءة الإستخدام</string>
@@ -309,27 +261,13 @@
<string name="add_to_public_bookmarks">إضافة إلى المفضلات العامة</string>
<string name="remove_from_private_bookmarks">إزالة من المفضلات الخاصة</string>
<string name="remove_from_public_bookmarks">إزالة من المفضلات العامة</string>
<string name="wallet_connect_service">خدمة Wallet Connect </string>
<string name="wallet_connect_service_explainer">السماح لمفتاحك السري بدفع ال zaps بدون الحاجة الى لخروج من التطبيق (دع مفتاحك السري ٱمن و استخدم خادم خاص إن امكن)</string>
<string name="wallet_connect_service_relay">خادم Wallet Connect </string>
<string name="wallet_connect_service_secret">كلمة سر خدمة Wallet Connect</string>
<string name="wallet_connect_service_show_secret">إظهار كلمة السر</string>
<string name="wallet_connect_service_secret_placeholder">المفتاح السري بصيغة nsec أو hex</string>
<string name="post_poll">نشر الاستطلاع</string>
<string name="poll_heading_required">الحقول المطلوبة:</string>
<string name="poll_zap_recipients">مستلمين الزاب</string>
<string name="poll_primary_description">وصف الاستطلاع الأساسي…</string>
<string name="poll_option_index">الخيار %s</string>
<string name="poll_option_description">وصف خيار الاستطلاع</string>
<string name="poll_heading_optional">حقل اختياري</string>
<string name="poll_zap_value_min">الحد الأدنى</string>
<string name="poll_zap_value_max">الحد الاقصى</string>
<string name="poll_consensus_threshold">توافق الآراء</string>
<string name="poll_closing_time">إغلاق بعد</string>
<string name="poll_closing_time_days">أيام</string>
<string name="poll_unable_to_vote">تعذر التصويت</string>
<string name="poll_is_closed_explainer">تم إغلاق الاستطلاع لأي تصويت جديد</string>
<string name="poll_zap_amount">عدد الزاب</string>
<string name="one_vote_per_user_on_atomic_votes">يسمح بصوت واحد فقط لكل مستخدم في هذا النوع من الاستطلاع</string>
<string name="looking_for_event">"البحث عن الحدث %1$s"</string>
<string name="custom_zaps_add_a_message">أضف رسالة عامة</string>
@@ -363,17 +301,9 @@
<string name="zap_type_nonzap_explainer">لا يوجد أثر في نوستر، فقط على شبكة الLightning</string>
<string name="file_server">خادم الملفات</string>
<string name="file_server_description">اختر خادم لرفع الملف به</string>
<string name="zap_forward_lnAddress"> user@ او Lnaddres </string>
<string name="media_servers">خوادم الوسائط</string>
<string name="upload_server_relays_nip95">المرحلات الخاصة بك (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">الملفات مُستضافة في مرحلاتك. الـNIP جديد، تأكد من دعمهم له</string>
<string name="connect_via_tor_short">إعداد Tor/Orbot</string>
<string name="connect_via_tor">الاتصال من خلال إعدادات Orbot الخاص بك</string>
<string name="do_you_really_want_to_disable_tor_title">قطع الاتصال بTor/Orbot؟</string>
<string name="do_you_really_want_to_disable_tor_text">سيتم نقل بياناتك على الفور في الشبكة المعتادة</string>
<string name="yes">نعم</string>
<string name="no">لا</string>
<string name="follow_list_selection">قائمة المتابعة</string>
<string name="follow_list_kind3follows">جميع المتابعات</string>
<string name="follow_list_global">العالمي</string>
<string name="follow_list_mute_list">قائمة الحسابات المكتومة</string>
@@ -410,8 +340,6 @@
<string name="tor_full_privacy_explainer">إخفاء عنوان الـIP من جميع الإتصالات</string>
<string name="tor_custom_explainer">خصصه بنفسك</string>
<string name="invalid_port_number">رقم المنفذ غير صالح</string>
<string name="use_orbot">أستخدام Orbot</string>
<string name="disconnect_from_your_orbot_setup">قطع إتصال Tor/Orbot</string>
<string name="app_notification_dms_channel_name">الرسائل الخاصة</string>
<string name="app_notification_dms_channel_description">التنبيه عند وصول رسالة خاصة</string>
<string name="app_notification_zaps_channel_name">تم استلام الزاب</string>
@@ -421,20 +349,9 @@
<string name="app_notification_zaps_channel_message_for">ل %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">تنبيه: </string>
<string name="channel_list_join_conversation">الانضمام إلى المحادثة</string>
<string name="channel_list_user_or_group_id">معرف المستخدم أو المجموعة</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent أو hex</string>
<string name="channel_list_create_channel">إنشاء</string>
<string name="channel_list_join_channel">إنضمام</string>
<string name="today">اليوم</string>
<string name="content_warning">تحذير من المحتوى</string>
<string name="content_warning_explanation">هذا المنشور يحتوي على محتوى حساس، قد يجده البعض مزعج</string>
<string name="content_warning_hide_all_sensitive_content">إخفاء المحتوى الحساس دائماً</string>
<string name="content_warning_show_all_sensitive_content">إظهار المحتوى الحساس دائماً</string>
<string name="content_warning_see_warnings">إظهار تحذيرات المحتوى دائمًا</string>
<string name="recommended_apps">التطبيقات الموصى بها : </string>
<string name="filter_spam_from_strangers">تصفية الرسائل المزعجة من الغرباء</string>
<string name="warn_when_posts_have_reports_from_your_follows">تنبيه عندما تكون منشورتك قد تم التبليغ عنها </string>
<string name="new_reaction_symbol">رمز رد فعل جديد</string>
<string name="no_reaction_type_setup_long_press_to_change">لم يتم تحديد أي نوع من ردود الفعل. اضغط مطولاً للتغيير</string>
<string name="zapraiser_explainer">إضافة هدف الساتوشي المراد جمعه. سوف يظهر العملاء هذا كشريط تقدم لتحفيز التبرعات</string>
@@ -443,34 +360,22 @@
<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>
<string name="software">البرنامج</string>
<string name="contact">جهة الاتصال</string>
<string name="supports">الNIPs المدعومة</string>
<string name="admission_fees">رسوم القبول</string>
<string name="payments_url">رابط الدفع</string>
<string name="limitations">الحدود</string>
<string name="countries">الدول</string>
<string name="languages">اللغات</string>
<string name="tags">الوسوم</string>
<string name="posting_policy">سياسات النشر</string>
<string name="relay_error_messages">الأخطاء والإشعارات من هذا المرحل</string>
<string name="message_length">طول الرسالة</string>
<string name="subscriptions">الإشتراكات</string>
<string name="filters">الفلاتر</string>
<string name="subscription_id_length">طول معرّف الاشتراك</string>
<string name="minimum_prefix">الحد الأدنى لل prefix </string>
<string name="maximum_event_tags">الحد الأقصى لوسوم الحدث</string>
<string name="content_length">طول المحتوى</string>
<string name="minimum_pow">الحد الأدنى لل PoW</string>
<string name="auth">المصادقة</string>
<string name="payment">الدفع</string>
<string name="cashu_redeem">استـرداد</string>
<string name="cashu_redeem_to_zap">إرسال إلى محفظة زاب</string>
<string name="cashu_copy_token">تسخ الtoken</string>
<string name="copied_token_to_clipboard">نسخ الtoken من المحفظة</string>
<string name="live_stream_live_tag">مباشر</string>
<string name="live_stream_offline_tag">غير متصل</string>
<string name="live_stream_ended_tag">انتهى</string>
@@ -490,7 +395,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">دائماً</string>
<string name="connectivity_type_wifi_only">الواي فاي فقط</string>
<string name="connectivity_type_never">ابداً</string>
<string name="system">النظام</string>
<string name="light">فاتح</string>
@@ -502,7 +406,6 @@
<string name="automatically_play_videos">تشغيل الفيديو</string>
<string name="automatically_show_url_preview">معاينة الرابط</string>
<string name="ui_style_description">اختر نمط المنشور</string>
<string name="load_image">تحميل الصورة</string>
<string name="spamming_users">المستخدمون المزعجون</string>
<string name="muted_button">الصوت مكتوم. انقر لإلغاء كتم الصوت</string>
<string name="mute_button">الصوت مفعل. انقر لكتم الصوت</string>
@@ -510,16 +413,9 @@
<string name="nip05_verified">تم التحقق من عنوان نوستر</string>
<string name="nip05_failed">فشل التحقق من عنوان نوستر</string>
<string name="nip05_checking">التحقق من عنوان نوستر</string>
<string name="select_deselect_all">تحديد/إلغاء تحديد الكل</string>
<string name="default_relays">الافتراضي</string>
<string name="default_relays_longer">اعادة الوضع الافتراضى</string>
<string name="select_a_relay_to_continue">اختر مرحل للإستمرار</string>
<string name="geohash_title">عرض الموقع كـ </string>
<string name="new_feature_nip17_might_not_be_available_title">ميزة جديدة</string>
<string name="new_feature_nip17_might_not_be_available_description">يتطلب تنشيط هذا الوضع من Amethyst إرسال رسالة خاصة من نوع NIP-17
(GiftWrapped, Sealed Direct and group Messages) .
إضافة NIP-17 لا تزال جديدة ومعظم العملاء لم يدعموها بعد. تأكد من أن المستلم يستخدم عميل متوافق.</string>
<string name="new_feature_nip17_activate">تفعيل</string>
<string name="messages_create_public_chat">عام</string>
<string name="messages_new_message">خاص</string>
<string name="messages_new_message_to">إلى</string>
@@ -535,47 +431,25 @@
<string name="automatically_load_images_gifs_description">تحميل الصور و الصور المتحركة تلقائياً</string>
<string name="automatically_play_videos_description">تشغيل الفيديوهات و الصور المتحركة تلقائياً</string>
<string name="automatically_show_url_preview_description">إظهار معاينات الروابط</string>
<string name="load_image_description">متى يتم تحميل الصور</string>
<string name="copy_to_clipboard">نسخ إلى الحافظة</string>
<string name="copy_npub_to_clipboard">نسخ npub إلى الحافظة</string>
<string name="share_or_save">مشاركة أو حفظ</string>
<string name="copy_url_to_clipboard">نسخ عنوان الرابط إلى الحافظة</string>
<string name="copy_the_note_id_to_the_clipboard">انسخ معرف النص (ID) إلى الحافظة</string>
<string name="created_at">أنشئ في</string>
<string name="rules">القواعد</string>
<string name="login_with_external_signer">تسجيل الدخول باستخدام Amber</string>
<string name="status_update">تحديث الحالة</string>
<string name="lightning_wallets_not_found">خطأ أثناء تحليل رسالة المشكل</string>
<string name="poll_zap_value_min_max_explainer">تُحسب الاصوات بكمية الزاب، يمكنك وضع حد أعلى لتجنب انحياز التصويت وحد ادنى لتجنب المزعجين. يمكنك استخدام نفس الكمية للحدين للتأكد من ان جميع الاصوات متساوية. لا تضع أي حدود لإستقبال أي كمية.</string>
<string name="error_dialog_talk_to_user">رسالة إلى المستخدم</string>
<string name="error_dialog_button_ok">موافق</string>
<string name="relay_information_document_error_assemble_url">فشل الوصول إلى
%1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">فشل في تجميع رابط NIP-11 لـ %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">فشل الوصول إلى %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">فشل تحليل الرد من %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">المرحل رفض الطلب %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">فشل الوصول إلى %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">فشل تحليل مخرجات %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">فشل %1$s مع الرمز %2$s</string>
<string name="active_for">نشط لـ: </string>
<string name="active_for_home">الصفحة الرئيسية</string>
<string name="active_for_msg">المحادثات الخاصة</string>
<string name="active_for_chats">الدردشات</string>
<string name="active_for_global">العالمي</string>
<string name="active_for_search">البحث</string>
<string name="zap_split_title">تقسيم و إعادة توجيه الزاب</string>
<string name="zap_split_explainer">سوف يقسمون ويوجهون العملاء الداعمين الزاب للمستخدمين بدلاً منك</string>
<string name="zap_split_search_and_add_user">البحث و إضافة مستخدم</string>
<string name="zap_split_search_and_add_user_placeholder">اسم المستخدم أو إسم العرض</string>
<string name="zap_split_weight">النسبة المئوية</string>
<string name="splitting_zaps_with">تقسيم الزاب مع</string>
<string name="forwarding_zaps_to">تحويل الزاب إلى</string>
<string name="paid">تم الدفع</string>
<string name="wallet_number">المحفظة %1$s</string>
<string name="error_opening_external_signer">خطأ في فتح تطبيق الموقِّع (signer app)</string>
<string name="error_opening_external_signer_description">لم يتم العثور على الموقّع، تأكد مما إذا لم يتم إلغاء تثبيت تثبيته</string>
<string name="sign_request_rejected">تم رفض تطبيق التوقيع</string>
<string name="sign_request_rejected_description">تأكد من أن تطبيق الموقِّع قد أذن بهذه المعاملة</string>
<string name="hidden_words">الكلمات المخفية</string>
<string name="hide_new_word_label">إخفاء كلمة أو جملة جديدة</string>
@@ -584,15 +458,10 @@
<string name="select_an_option">حدد خيارا</string>
<string name="error_dialog_pay_invoice_error">تعذر دفع الفاتورة</string>
<string name="error_dialog_pay_withdraw_error">لا يمكن السحب</string>
<string name="error_parsing_nip47">خطأ في تحليل رابط إتصال NIP-47. تحقق مما إذا كان صحيح مع موفر المحفظة الخاص بك: %1$s. الخطأ: %2$s</string>
<string name="error_parsing_nip47_no_error">خطأ في تحليل رابط إتصال NIP-47. تحقق مما إذا كان صحيح مع موفر المحفظة الخاص بك: %1$s.</string>
<string name="cashu_successful_redemption_explainer">%1$s sats أرسلت الى محفظتك
(الرسوم: sats %2$s ) </string>
<string name="error_unable_to_fetch_invoice">تعذر جلب الinvoice من خوادم المستلم</string>
<string name="wallet_connect_pay_invoice_error_error">موفر wallet connect الخاص بك أعاد الخطأ التالي: %1$s</string>
<string name="could_not_connect_to_tor">لا يمكن الاتصال بTor</string>
<string name="unable_to_download_relay_document">تعذر تحميل مستندات المرحل </string>
<string name="could_not_fetch_invoice_from">تعذر جلب الinvoice من %1$s</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">مبلغ الinvoice غير صحيح (sats %1$s ) من %2$s. كان يجب أن يكون %3$s</string>
<string name="read_only_user">مستخدم في وضع القراءة فقط</string>
<string name="no_reactions_setup">لا توجد اعدادات لردود الفعل</string>
@@ -634,10 +503,8 @@
<string name="failed_to_upload_media">خطأ في التحميل: %1$s</string>
<string name="login_with_qr_code">تسجيل الدخول بواسطة رمز الQR</string>
<string name="route_home">الصفحة الرئيسية</string>
<string name="route_search">البحث</string>
<string name="route_messages">الرسائل</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">مرشحات الأمان</string>
<string name="new_post">منشور جديد</string>
<string name="new_community_note">منشور جديد للمجتمع</string>
<string name="open_all_reactions_to_this_post">فتح جميع ردود الفعل على هذا المنشور</string>
@@ -647,13 +514,9 @@
<string name="change_reaction">تغيير ردود الفعل السريعة</string>
<string name="relay_info">المرحل %1$s</string>
<string name="expand_relay_list">توسعة قائمة المرحلات</string>
<string name="relay_list_selector">منتقي قائمة المرحلات</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 - auth.nostr1.com (مجاني)\n - you.nostr1.com (مرحلات خاصة - مدفوع)</string>
<string name="dm_relays_not_found_examples2">الخيارات الجيدة هي:\n - auth.nostr1.com (مجاني)\n - inbox.nostr.wine (مدفوع)\n - relay.0xchat.com (مجاني)</string>
<string name="dm_relays_not_found_editing">اختر من واحد إلى ثلاث مرحلات لاستقبال رسائلك الخاصة بهم. مرحلات الرسائل الخاصة يجب أن تستقبل الرسائل من أي شخص وتسمح لك فقط بقراءتهم.</string>
<string name="dm_relays_not_found_create_now">الإعداد الآن</string>
@@ -679,4 +542,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
+1 -134
View File
@@ -24,8 +24,6 @@
<string name="other">অন্যান্য</string>
<string name="harassment">হয়রানি</string>
<string name="violence">Violence</string>
<string name="unknown">অচেনা</string>
<string name="relay_icon">রিলে আইকন</string>
<string name="unknown_author">অজ্ঞাত-পরিচয় লেখক</string>
<string name="copy_text">টেক্সটটি কপি করুন</string>
<string name="copy_user_pubkey">লেখক আইডি কপি করুন</string>
@@ -38,12 +36,9 @@
<string name="block_hide_user"><![CDATA[ব্লক করুন এবং ব্যবহারকারীকে আড়ালে রাখুন]]></string>
<string name="report_spam_scam">স্প্যাম/প্রতারণার অভিযোগ করুন</string>
<string name="report_impersonation">ছদ্মবেশ ধারণের অভিযোগ করুন</string>
<string name="report_explicit_content">খোলামেলা আধেয় হিসেবে অভিযোগ করুন</string>
<string name="report_illegal_behaviour">বেআইনী আচরণের অভিযোগ করুন</string>
<string name="report_malware">ম্যালওয়্যার রিপোর্ট করুন</string>
<string name="report_mod">রিপোর্ট মোড</string>
<string name="malware">ম্যালওয়্যার</string>
<string name="mod">মোড</string>
<string name="login_with_a_private_key_to_be_able_to_reply">প্রতিউত্তর দিতে ব্যক্তিগত চাবি দিয়ে লগ ইন করুন</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">পোস্টগুলি বুস্ট করতে ব্যক্তিগত চাবি দিয়ে লগ ইন করুন</string>
<string name="login_with_a_private_key_to_like_posts">পোস্টগুলি লাইক করতে ব্যক্তিগত চাবি দিয়ে লগ ইন করুন</string>
@@ -54,7 +49,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">পোস্টগুলি বুস্ট করতে ব্যক্তিগত চাবি দিয়ে লগ ইন করুন</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">পোস্টগুলি বুস্ট করতে ব্যক্তিগত চাবি দিয়ে লগ ইন করুন</string>
<string name="zaps">জ্যাপস</string>
<string name="view_count">পরিমাণ দেখুন</string>
<string name="boost">বুস্ট</string>
<string name="boosted">বুস্ট করা হয়েছে</string>
<string name="edited">সম্পাদিত</string>
@@ -65,9 +59,7 @@
<string name="add">যুক্ত করুন</string>
<string name="replying_to">"এই ব্যক্তির প্রতিউত্তর দিচ্ছেন "</string>
<string name="and">" এবং "</string>
<string name="in_channel">"চ্যানেলের ভেতর "</string>
<string name="profile_banner">প্রোফাইলের ব্যানার</string>
<string name="payment_successful">সফলভাবে মূল্য পরিশোধিত হয়েছে</string>
<string name="following">" অনুসরণ"</string>
<string name="followers">" অনুসারী"</string>
<string name="number_following">"%1$s অনুসরণ"</string>
@@ -85,9 +77,7 @@
<string name="send_sats">স্যাট পাঠান</string>
<string name="secret_emoji_maker">সিক্রেট ইমোজি মেকার</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="error_parsing_preview_for">"এই দুইয়ের পূর্বরূপ দেখানো যাচ্ছে না %1$s : %2$s"</string>
<string name="preview_card_image_for">"%1$s এর জন্য কার্ড ইমেজের পূর্বরূপ দেখুন"</string>
<string name="new_channel">নতুন চ্যানেল</string>
<string name="channel_name">চ্যানেলের নাম</string>
<string name="my_awesome_group">আমার অসাধারণ দল</string>
<string name="picture_url">ছবির Url</string>
@@ -98,38 +88,20 @@
<string name="save">সংরক্ষণ করুন</string>
<string name="create">তৈরি করুন</string>
<string name="cancel">বাতিল করুন</string>
<string name="failed_to_upload_the_image">ছবিটি সফলভাবে আপলোড করা যায় নি</string>
<string name="relay_address">রিলে-ঠিকানা</string>
<string name="posts">পোস্টগুলি</string>
<string name="bytes">বাইটস</string>
<string name="errors">ত্রুটিসমূহ</string>
<string name="home_feed">নীড়পাতা</string>
<string name="private_message_feed">ব্যক্তিগত বার্তাসমূহ</string>
<string name="public_chat_feed">সার্বজনীন কথোপকথন</string>
<string name="global_feed">বৈশ্বিক পাতা</string>
<string name="search_feed">অনুসন্ধান পাতা</string>
<string name="add_a_user">একজন ব্যবহারকারী যোগ করুন</string>
<string name="add_a_relay">একটি রিলে যুক্ত করুন</string>
<string name="profile_name">নাম</string>
<string name="display_name">প্রদর্শিত নাম</string>
<string name="my_display_name">আমার প্রদর্শিত নাম</string>
<string name="username">ইউজারনেম</string>
<string name="my_username">আমার ইউজারনেম</string>
<string name="about_me">আমার সম্পর্কে</string>
<string name="avatar_url">অবতারের URL</string>
<string name="banner_url">ব্যানারের URL</string>
<string name="website_url">ওয়েবসাইটের URL</string>
<string name="ln_address">বিজলি-ঠিকানা</string>
<string name="ln_url_outdated">বিজলি URL (অপ্রচলিত)</string>
<string name="save_to_gallery">গ্যালারিতে সংরক্ষণ করুন</string>
<string name="image_saved_to_the_gallery">ছবিটি গ্যালারিতে সংরক্ষণ করা হয়েছে</string>
<string name="failed_to_save_the_image">ছবিটি সফলভাবে সংরক্ষণ করা যায় নি</string>
<string name="upload_image">ছবিটি আপলোড করুন</string>
<string name="uploading">আপলোড করা হচ্ছে…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">স্যাট গ্রহণের জন্য ব্যবহারকারীর কোনো বিজলি-ঠিকানা দেওয়া নেই</string>
<string name="reply_here">"এখানে প্রতিউত্তর দিন.. "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">নস্টারে শেয়ারের জন্য নোট আইডিটি ক্লিপবোর্ডে কপি করা হয়</string>
<string name="copy_channel_id_note_to_the_clipboard">চ্যানেল আইডি (নোট) ক্লিপবোর্ডে কপি করুন</string>
<string name="edits_the_channel_metadata">চ্যানেলের মেটাডেটা সম্পাদনা করে</string>
<string name="join">যুক্ত হোন</string>
<string name="known">জ্ঞাত</string>
@@ -139,16 +111,12 @@
<string name="conversations">কথোপকথন</string>
<string name="notes">নোটস</string>
<string name="replies">প্রতিউত্তরসমূহ</string>
<string name="follows">"অনুসারী"</string>
<string name="reports">"অভিযোগসমূহ"</string>
<string name="more_options">আরও বিকল্প</string>
<string name="relays">" রিলেগুলি"</string>
<string name="website">ওয়েবসাইট</string>
<string name="lightning_address">বিজলি-ঠিকানা</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">ব্যাকআপের জন্য আপনার Nsec আইডি (তথা পাসওয়ার্ড) ক্লিপবোর্ডে কপি করে</string>
<string name="copy_private_key_to_the_clipboard">আপনার ব্যক্তিগত চাবিটি ক্লিপবোর্ডে কপি করুন</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">অন্যদের সাথে শেয়ারের জন্য আপনার গণ চাবি ক্লিপবোর্ডে কপি করে</string>
<string name="copy_public_key_npub_to_the_clipboard">গণ চাবি (Npub) ক্লিপবোর্ডে কপি করুন</string>
<string name="send_a_direct_message">একটি সরাসরি-বার্তা পাঠান</string>
<string name="edits_the_user_s_metadata">ব্যবহারকারীর মেটাডেটা সম্পাদনা করে</string>
<string name="follow">অনুসরণ করুন</string>
@@ -176,8 +144,6 @@
<string name="create_account">অ্যাকাউন্ট খুলুন</string>
<string name="don_t_have_an_account">একটি Nostr অ্যাকাউন্ট নেই?</string>
<string name="already_have_an_account">ইতিমধ্যে একটি Nostr অ্যাকাউন্ট আছে?</string>
<string name="create_a_new_account">একটি নতুন অ্যাকাউন্ট তৈরি করুন</string>
<string name="generate_a_new_key">একটি নতুন চাবি তৈরি করুন</string>
<string name="loading_feed">পাতাটি লোড করা হচ্ছে</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
<!-- Reply subtitle when every relay genuinely bottomed out (no stalls) and it still wasn't there. -->
@@ -185,12 +151,6 @@
<string name="try_again">আবার চেষ্টা করুন</string>
<string name="feed_is_empty">পাতাটি খালি</string>
<string name="refresh">রিফ্রেশ করুন</string>
<string name="created">তৈরি করা হয়েছে</string>
<string name="with_description_of">এর বিবরণ সহ</string>
<string name="and_picture">এবং ছবি</string>
<string name="changed_chat_name_to">চ্যাটের নাম পরিবর্তন করুন</string>
<string name="description_to">বিবরণ</string>
<string name="and_picture_to">এবং ছবি</string>
<string name="leave">ছেড়ে দিন</string>
<string name="unfollow">আনফলো করুন</string>
<string name="channel_created">চ্যানেলটি তৈরি করা হয়েছে</string>
@@ -214,7 +174,6 @@
<string name="profanity_hateful_speech">অশ্লীলতা / বিদ্বেষপূর্ণ বক্তব্য</string>
<string name="report_hateful_speech">বিদ্বেষপূর্ণ বক্তব্য হিসেবে অভিযোগ জানান</string>
<string name="report_nudity_porn">নগ্নতা / পর্ন হিসেবে অভিযোগ জানান</string>
<string name="others">অন্যান্য</string>
<string name="mark_all_known_as_read">পরিচিত সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
<string name="mark_all_new_as_read">নতুন সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
<string name="mark_all_as_read">সবগুলোকে পঠিত হিসেবে চিহ্নিত করুন</string>
@@ -234,23 +193,18 @@
<string name="encrypt_and_copy_my_secret_key">এনক্রিপ্ট এবং আমার গোপন কী অনুলিপি</string>
<string name="biometric_authentication_failed">প্রমাণীকরণ ব্যর্থ হয়েছে।</string>
<string name="biometric_authentication_failed_explainer">বায়োমেট্রিক্স এই ফোনের মালিককে প্রমাণ করতে ব্যর্থ হয়েছে৷</string>
<string name="biometric_error">ত্রুটি</string>
<string name="badge_created_by">"%1$s দ্বারা নির্মিত"</string>
<string name="badge_award_image_for">"%1$s -এর জন্য ব্যাজ পুরষ্কারের ছবি"</string>
<string name="new_badge_award_notif">আপনি একটি নতুন ব্যাজ পুরষ্কার পেয়েছেন</string>
<string name="award_granted_to">ব্যাজ পুরস্কারটি পাচ্ছে</string>
<string name="copied_note_text_to_clipboard">নোটের রচনাটি ক্লিপবোর্ডে কপি করা হয়েছে</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">রচয়িতার @npub ক্লিপবোর্ডে কপি করুন</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">নোট আইডিটি (@note1) ক্লিপবোর্ডে কপি করা হয়েছে</string>
<string name="select_text_dialog_top">রচনাটি নির্বাচন করুন</string>
<string name="private_conversation_notification">"&lt;Unable to decrypt private message&gt;\n\nআপনাকে %1$s এবং %2$s এর মধ্যে একটি ব্যক্তিগত/এনক্রিপ্টেড কথোপকথনে উদ্ধৃত করা হয়েছে৷"</string>
<string name="account_switch_add_account_dialog_title">নতুন অ্যাকাউন্ট যুক্ত করুন</string>
<string name="drawer_accounts">অ্যাকাউন্টগুলি</string>
<string name="account_switch_select_account">অ্যাকাউন্ট নির্বাচন করুন</string>
<string name="account_switch_add_account_btn">নতুন অ্যাকাউন্ট যুক্ত করুন</string>
<string name="account_switch_active_account">অ্যাকাউন্ট সক্রিয় করুন</string>
<string name="account_switch_has_private_key">ব্যক্তিগত চাবি আছে</string>
<string name="account_switch_pubkey_only">শুধুমাত্র পাঠযোগ্য, ব্যক্তিগত চাবি নেই</string>
<string name="back">পিছে যান</string>
<string name="quick_action_select">নির্বাচন করুন</string>
<string name="quick_action_share_browser_link">ব্রাউজারের লিংক শেয়ার করুন</string>
@@ -267,7 +221,6 @@
<string name="quick_action_delete_dialog_btn">মুছে ফেলুন</string>
<string name="quick_action_block">ব্লক করুন</string>
<string name="quick_action_report">অভিযোগ করুন</string>
<string name="quick_action_delete_button">মুছে ফেলুন</string>
<string name="quick_action_dont_show_again_button">আর দেখাবেন না</string>
<string name="report_dialog_spam">স্প্যাম অথবা প্রতারণা</string>
<string name="report_dialog_profanity">অশ্লীলতা বা বিদ্বেষপূর্ণ আচরণ</string>
@@ -294,28 +247,13 @@
<string name="remove_from_public_bookmarks">সর্বজনীন বুকমার্ক থেকে সরিয়ে দিন</string>
<string name="public_articles_label">পাবলিক প্রবন্ধ</string>
<string name="public_articles_count">পাবলিক প্রবন্ধ(%1$s)</string>
<string name="wallet_connect_service">ওয়ালেট সংযোগের পরিষেবা</string>
<string name="wallet_connect_service_explainer">অ্যাপ থেকে বের না হয়েই জ্যাপ প্রদান করতে একটি নস্টার-সিক্রেট অনুমোদন করা হয়ে থাকে। এই নস্টার-সিক্রেটটি নিরাপদে রাখুন এবং সম্ভব হলে একটি ব্যক্তিগত রিলে ব্যবহার করুন</string>
<string name="wallet_connect_service_pubkey">ওয়ালেট সংযোগের গণ চাবি</string>
<string name="wallet_connect_service_relay">ওয়ালেট সংযোগের রিলে</string>
<string name="wallet_connect_service_secret">ওয়ালেট সংযোগের সিক্রেট</string>
<string name="wallet_connect_service_show_secret">গোপন চাবি দেখান</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex ব্যক্তিগত চাবি</string>
<string name="pledge_amount_in_sats">প্রতিশ্রুত পরিমাণ স্যাট দ্বারা জানান</string>
<string name="post_poll">একটি পোল পেশ করুন</string>
<string name="poll_heading_required">প্রয়োজনীয় ক্ষেত্রসমূহ:</string>
<string name="poll_zap_recipients">জ্যাপ প্রাপকেরা</string>
<string name="poll_primary_description">পোলের প্রাথমিক বিবরণ…</string>
<string name="poll_option_index">বিকল্প %s</string>
<string name="poll_option_description">পোলের বিবিধ বিকল্পের বিবরণ</string>
<string name="poll_heading_optional">ঐচ্ছিক ক্ষেত্র:</string>
<string name="poll_zap_value_min">ন্যূনতম জ্যাপ</string>
<string name="poll_zap_value_max">সর্বোচ্চ জ্যাপ</string>
<string name="poll_consensus_threshold">ঐক্যমত</string>
<string name="poll_consensus_threshold_percent">(০–১০০)%</string>
<string name="poll_closing_time">এই সময় পর বন্ধ করুন</string>
<string name="poll_closing_time_days">দিনগুলি</string>
<string name="poll_zap_amount">পরিমাণটি জ্যাপ করুন</string>
<string name="one_vote_per_user_on_atomic_votes">এই জাতীয় পোলে একজন ব্যবহারকারী শুধুমাত্র একটি করেই ভোট দিতে পারবেন</string>
<string name="looking_for_event">"ইভেন্ট খোঁজা হচ্ছে %1$s"</string>
<string name="custom_zaps_add_a_message">একটি সর্বজনীন বার্তা পাঠান</string>
@@ -343,36 +281,16 @@
<string name="zap_type_nonzap">নন-জ্যাপ</string>
<string name="zap_type_nonzap_explainer">নস্টারে কোনো সন্ধান নেই, কেবল বিজলিতে আছে</string>
<string name="file_server">ফাইল সার্ভার</string>
<string name="zap_forward_lnAddress">বিজলি-ঠিকানা বা @ব্যবহারকারী</string>
<string name="use_default_servers">ডিফল্ট তালিকা ব্যবহার করুন</string>
<string name="uploading_state_ready">শুরু হয়নি</string>
<string name="upload_server_relays_nip95">আপনার রিলেগুলি (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">ফাইলগুলো আপনার রিলে দ্বারা গৃহীত হয়। নতুন NIP: তারা এটি সমর্থন করে কিনা দেখে নিন</string>
<string name="connect_via_tor_short">Tor/Orbot সেটআপ করুন</string>
<string name="connect_via_tor">আপনার Orbot সেটআপের মাধ্যমে সংযুক্ত হোন</string>
<string name="do_you_really_want_to_disable_tor_title">Orbot/Tor থেকে সংযোগ বিচ্ছিন্ন করতে চান?</string>
<string name="do_you_really_want_to_disable_tor_text">আপনার ডেটা অবিলম্বে নিয়মিত নেটওয়ার্কে স্থানান্তর করা হবে</string>
<string name="yes">হ্যাঁ</string>
<string name="no">না</string>
<string name="follow_list_selection">অনুসরণ তালিকা</string>
<string name="follow_list_kind3follows">অনুসৃত সকলেরা</string>
<string name="follow_list_global">বৈশ্বিক</string>
<string name="follow_list_mute_list">নিঃশব্দ তালিকা</string>
<string name="follow_set_type_public">সর্বজনীন</string>
<string name="follow_set_type_private">ব্যক্তিগত</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Tor এর মাধ্যমে Orbot এর সাথে সংযুক্ত হোন
\n\n১. [Orbot] নামান (https://play.google.com/store/apps/details?id=org.torproject.android)
\n২. Orbot চালু করুন
\n৩. Orbot এ ঢুকে Socks পোর্টটি খেয়াল করুন। এটি ৯০৫০ তে নির্দিষ্ট করা থাকে
\n৪. প্রয়োজনে Orbot এ পোর্টটি বদলে দিন
\n৫. স্ক্রিনের Socks পোর্টটি প্রস্তুত করুন
\n৬. Orbot কে প্রক্সি হিসেবে ব্যবহার করতে Activate বোতামটি চাপুন
</string>
<string name="orbot_socks_port">Orbot এর Socks পোর্ট</string>
<string name="tor_custom">পছন্দমতন</string>
<string name="invalid_port_number">পোর্ট নম্বরটি অকার্যকর</string>
<string name="use_orbot">Orbot ব্যবহার করুন</string>
<string name="disconnect_from_your_orbot_setup">Tor/Orbot থেকে সংযোগ বিচ্ছিন্ন করুন</string>
<string name="app_notification_dms_channel_name">ব্যক্তিগত বার্তাসমূহ</string>
<string name="app_notification_dms_channel_description">যখন একটি ব্যক্তিগত বার্তা আসে তখন আপনাকে অবহিত করে</string>
<string name="app_notification_zaps_channel_name">জ্যাপ গৃহীত হয়েছে</string>
@@ -382,20 +300,9 @@
<string name="app_notification_zaps_channel_message_for">%1$s এর জন্য</string>
<!-- Call notifications and UI -->
<string name="reply_notify">অবহিত করুন: </string>
<string name="channel_list_join_conversation">আলোচনায় যুক্ত হোন</string>
<string name="channel_list_user_or_group_id">ব্যবহারকারী কিংবা গ্রুপের আইডি</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent অথবা hex</string>
<string name="channel_list_create_channel">তৈরি করুন</string>
<string name="channel_list_join_channel">যুক্ত হোন</string>
<string name="today">আজ</string>
<string name="content_warning">আধেয় বিষয়ক সতর্কতা</string>
<string name="content_warning_explanation">এই পোস্টে সংবেদনশীল উপাদান রয়েছে যা কারো জন্য আপত্তিকর কিংবা সমস্যাজনক হতে পারে</string>
<string name="content_warning_hide_all_sensitive_content">সংবেদনশীল আধেয় সবসময় আড়ালে রাখুন</string>
<string name="content_warning_show_all_sensitive_content">সংবেদনশীল বিষয়বস্তু সবসময় খোলামেলা দেখান</string>
<string name="content_warning_see_warnings">সবসময় আধেয় বিষয়ক সতর্কতা দেখান</string>
<string name="recommended_apps">প্রস্তাবিত: </string>
<string name="filter_spam_from_strangers">অপরিচিতদের কাছ থেকে স্প্যাম ফিল্টার করুন</string>
<string name="warn_when_posts_have_reports_from_your_follows">কোনো পোস্টে আপনার অনুসরীদের থেকে অভিযোগ থাকলে অবহিত হোন</string>
<string name="new_reaction_symbol">প্রতিক্রিয়ার নতুন প্রতীক</string>
<string name="no_reaction_type_setup_long_press_to_change">প্রতিক্রিয়ার কোনো ধরন বেছে নেওয়া হয়নি। পরিবর্তন করতে দীর্ঘক্ষণ চাপুন</string>
<string name="zapraiser">জ্যাপরেইজার</string>
@@ -404,33 +311,22 @@
<string name="sats_to_complete">জ্যাপরাইজার %1$s তে আছে। %2$s স্যাট লক্ষ্যমাত্রা</string>
<string name="read_from_relay">রিলে থেকে পড়ুন</string>
<string name="write_to_relay">রিলেতে লিখুন</string>
<string name="an_error_occurred_trying_to_get_relay_information">%1$s থেকে রিলের তথ্যের জন্য চেষ্টা করার সময় একটি ত্রুটি ঘটেছে৷</string>
<string name="owner">মালিক</string>
<string name="version">সংস্করণ</string>
<string name="software">সফটওয়্যার</string>
<string name="contact">যোগাযোগ</string>
<string name="supports">সমর্থিত NIP গুলো</string>
<string name="admission_fees">প্রবেশমূল্য</string>
<string name="payments_url">মূল্যপরিশোধের URL</string>
<string name="limitations">সীমাবদ্ধতা</string>
<string name="countries">দেশসমূহ</string>
<string name="languages">ভাষাসমূহ</string>
<string name="tags">ট্যাগগুলি</string>
<string name="posting_policy">আধেয় পেশ করার নীতি</string>
<string name="message_length">বার্তার ব্যাপ্তি</string>
<string name="subscriptions">সকল সদস্যতা</string>
<string name="filters">ফিল্টারগুলি</string>
<string name="subscription_id_length">সদস্যতা আইডির ব্যাপ্তি</string>
<string name="minimum_prefix">ন্যূনতম উপসর্গ</string>
<string name="maximum_event_tags">সর্বাধিক ইভেন্ট ট্যাগ</string>
<string name="content_length">আধেয়র ব্যাপ্তি</string>
<string name="minimum_pow">ন্যূনতম PoW</string>
<string name="auth">অনুমোদন</string>
<string name="payment">মূল্যপরিশোধ</string>
<string name="cashu">ক্যাশু টোকেন</string>
<string name="cashu_redeem">খালাস করুন</string>
<string name="no_lightning_address_set">কোনো বিজলি-ঠিকানা সেট করা নেই</string>
<string name="copied_token_to_clipboard">টোকেনটি ক্লিপবোর্ডে কপি করা হয়েছে</string>
<string name="live_stream_live_tag">লাইভ</string>
<string name="live_stream_offline_tag">অফলাইন</string>
<string name="live_stream_ended_tag">সমাপ্ত</string>
@@ -452,7 +348,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">সবসময়</string>
<string name="connectivity_type_wifi_only">শুধুমাত্র ওয়াইফাইতে</string>
<string name="connectivity_type_never">কখনো না</string>
<string name="system">সিস্টেম</string>
<string name="light">উজ্জ্বল</string>
@@ -465,7 +360,6 @@
<string name="automatically_show_url_preview">URL-এর পূর্বরূপ</string>
<string name="automatically_hide_nav_bars">ইমারসিভ স্ক্রোলিং</string>
<string name="ui_style_description">পোস্ট শৈলী চয়ন করুন</string>
<string name="load_image">ছবিটি লোড করুন</string>
<string name="spamming_users">স্প্যামাররা</string>
<string name="muted_button">মৌন করে রাখা। এটি তুলে নিতে ক্লিক করুন</string>
<string name="mute_button">শব্দ চালু আছে। মৌন করতে ক্লিক করুন</string>
@@ -473,17 +367,10 @@
<string name="nip05_verified">নস্টার ঠিকানাটি যাচাই করা হয়েছে</string>
<string name="nip05_failed">নস্টার ঠিকানাটি যাচাই করা যায় নি</string>
<string name="nip05_checking">নস্টার ঠিকানাটি পরীক্ষা করে দেখা হচ্ছে</string>
<string name="select_deselect_all">সবগুলিকে নির্বাচন/অনির্বাচন করুন</string>
<string name="default_relays">পূর্ব-নির্ধারিত</string>
<string name="select_a_relay_to_continue">চালিয়ে যেতে একটি রিলে নির্বাচন করুন</string>
<string name="zap_forward_title">জ্যাপটি পাঠান:</string>
<string name="zap_forward_explainer">সহায়তাকারী ক্লায়েন্টরা আপনার পরিবর্তে নিচের বিজলি-ঠিকানায় বা ব্যবহারকারীর প্রোফাইলে জ্যাপ পাঠাবে</string>
<string name="geohash_title">আপনার অবস্থান এভাবে প্রকাশ করুন </string>
<string name="geohash_explainer">পোস্টে আপনার অবস্থানের একটি জিওহ্যাশ যোগ করে। জনসাধারণ জানবে যে আপনি বর্তমান অবস্থান থেকে ৫ কিলোমিটার (৩ মাইল) এর মধ্যে আছেন</string>
<string name="add_sensitive_content_explainer">আপনার পেশকৃত আধেয় দেখানোর আগে সংবেদনশীল আধেয়-সতর্কতা জারি করে। এটি সেসকল আধেয়র জন্য আদর্শ যেখানে NSFW উপাদান কিংবা এমনকিছু থাকতে পারে যা কারো কারো জন্য আপত্তিকর কিংবা সমস্যাজনক মনে হতে পারে।</string>
<string name="new_feature_nip17_might_not_be_available_title">নতুন ফিচার</string>
<string name="new_feature_nip17_might_not_be_available_description">এই মোড সক্রিয় করার জন্য অ্যামেথিস্টকে একটি NIP-17 বার্তা পাঠাতে হবে। (GiftWrapped, সিল করা সরাসরি এবং দলগত বার্তা)। NIP-17 নতুন এবং বেশিরভাগ ক্লায়েন্ট এখনও এটি বাস্তবায়ন করেনি। নিশ্চিত করুন যে প্রাপক একটি সামঞ্জস্যপূর্ণ ক্লায়েন্ট ব্যবহার করছে।</string>
<string name="new_feature_nip17_activate">সক্রিয় করুন</string>
<string name="messages_create_public_chat">সর্বজনীন</string>
<string name="messages_new_message">ব্যক্তিগত</string>
<string name="messages_new_message_to">প্রতি</string>
@@ -499,48 +386,29 @@
<string name="automatically_load_images_gifs_description">স্বয়ংক্রিয়ভাবে ছবি এবং GIF লোড করুন</string>
<string name="automatically_play_videos_description">স্বয়ংক্রিয়ভাবে ভিডিও এবং GIF চালু করুন</string>
<string name="automatically_show_url_preview_description">URL এর পূর্বরূপ দেখান</string>
<string name="load_image_description">কখন ছবি লোড করতে হবে</string>
<string name="copy_url_to_clipboard">URL ক্লিপবোর্ডে কপি করুন</string>
<string name="copy_the_note_id_to_the_clipboard">নোট আইডি ক্লিপবোর্ডে কপি করুন</string>
<string name="created_at">যেখানে নির্মিত</string>
<string name="rules">নিয়ম</string>
<string name="login_with_external_signer">Amber দিয়ে লগইন করুন</string>
<string name="status_update">আপনার স্ট্যাটাস আপডেট করুন</string>
<string name="poll_zap_value_min_max_explainer">জ্যাপের পরিমাণ দ্বারা ভোটসংখ্যা গোণা হয়। আপনি স্প্যামার এড়াতে একটি সর্বনিম্ন পরিমাণ এবং একটি বড়ো জ্যাপার দ্বারা পোল দখল এড়াতে সর্বোচ্চ পরিমাণ স্যাট নির্ধারণ করতে পারেন। প্রতিটি ভোটের মূল্য একই পরিমাণে রয়েছে তা নিশ্চিত করতে উভয় ক্ষেত্রেই একই পরিমাণ ব্যবহার করুন। যেকোনো পরিমাণ গ্রহণ করতে এটি খালি ছেড়ে দিন।</string>
<string name="error_dialog_zap_error">জ্যাপ পাঠানো যায় নি</string>
<string name="error_dialog_talk_to_user">ব্যবহারকারীকে বার্তা দিন</string>
<string name="error_dialog_button_ok">ঠিক আছে</string>
<string name="relay_information_document_error_assemble_url">%1$s: %2$s পৌঁছাতে ব্যর্থ</string>
<string name="relay_information_document_error_reach_server">%1$s: %2$s পৌঁছাতে ব্যর্থ</string>
<string name="relay_information_document_error_parse_result">%1$s: %2$s থেকে ফলাফল পার্স করা যায় নি</string>
<string name="relay_information_document_error_http_status">%1$s কোড দিয়ে ব্যর্থ হয়েছে %2$s</string>
<string name="active_for">এর জন্য সক্রিয় করুন: </string>
<string name="active_for_home">নীড়</string>
<string name="active_for_msg">বার্তাসমূহ</string>
<string name="active_for_chats">আলাপচারিতা</string>
<string name="active_for_global">বৈশ্বিক</string>
<string name="active_for_search">অনুসন্ধান করুন</string>
<string name="zap_split_title">জ্যাপগুলি ভাগ করুন এবং পাঠান</string>
<string name="zap_split_explainer">সমর্থিত ক্লায়েন্টরা জ্যাপ ভাগ করবে এবং আপনার পরিবর্তে এখানে সংযুক্ত ব্যবহারকারীদেরকে পাঠাবে</string>
<string name="zap_split_search_and_add_user">ব্যবহারকারীদের অনুসন্ধান করুন এবং যুক্ত করুন</string>
<string name="zap_split_search_and_add_user_placeholder">ইউজারনেম কিংবা প্রদর্শিত নাম দিন</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">%1$s ব্যবহারকারীর স্যাট গ্রহণের উপযোগী কোনো বিজলি ঠিকানা সেট করা নেই</string>
<string name="zap_split_weight">শতাংশ</string>
<string name="zap_split_weight_placeholder">২৫</string>
<string name="splitting_zaps_with">এর সাথে জ্যাপ ভাগ করা হচ্ছে</string>
<string name="forwarding_zaps_to">একে জ্যাপ পাঠানো হচ্ছে</string>
<string name="lightning_wallets_not_found2">বিজলি-ওয়ালেট পাওয়া যায় নি</string>
<string name="paid">পরিশোধিত</string>
<string name="wallet_number">ওয়ালেট %1$s</string>
<string name="error_opening_external_signer">স্বাক্ষরের অ্যাপ খোলা যাচ্ছে না</string>
<string name="sign_request_rejected">স্বাক্ষরের অনুরোধ প্রত্যাখ্যান করা হয়েছে</string>
<string name="no_reactions_setup">কোন প্রতিক্রিয়া সেটআপ</string>
<string name="select_push_server">একটি নির্বাচন করুন UnifiedPush অ্যাপ</string>
<string name="push_server_none">কোনটি নয়</string>
<string name="send_the_seller_a_message">বিক্রেতাকে একটি বার্তা পাঠান</string>
<string name="hi_seller_is_this_still_available">হাই %1$s, এটা কি এখনও পাওয়া যায়?</string>
<string name="hi_there_is_this_still_available">হাই, এটা কি এখনও পাওয়া যায়?</string>
<string name="classifieds">একটি পণ্য বিক্রি করুন</string>
<string name="classifieds_title">শিরোনাম</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">শর্ত</string>
@@ -560,12 +428,10 @@
<string name="classifieds_category_office">দপ্তর</string>
<string name="classifieds_category_food">খাদ্য</string>
<string name="route_home">নীড়</string>
<string name="route_search">অনুসন্ধান করুন</string>
<string name="route_discover">আবিস্কার</string>
<string name="route_messages">বার্তা</string>
<string name="route_notifications">অবহিতকরন</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">নিরাপত্তা-ফিল্টার</string>
<string name="new_post">নতুন পোস্ট</string>
<string name="reply_description">উত্তর</string>
<string name="boost_or_quote_description">বুস্ট বা উদ্ধৃতি</string>
@@ -591,4 +457,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
File diff suppressed because it is too large Load Diff
+5 -212
View File
@@ -21,8 +21,6 @@
<string name="illegal_behavior">Nezákonné jednání</string>
<string name="other">Jiný</string>
<string name="harassment">Obtěžování</string>
<string name="unknown">Neznámý</string>
<string name="relay_icon">Ikona předávání</string>
<string name="unknown_author">Neznámý autor</string>
<string name="copy_text">Kopírovat text</string>
<string name="copy_user_pubkey">Kopírovat ID autora</string>
@@ -36,12 +34,9 @@
<string name="block_hide_user"><![CDATA[Blokovat a skrýt uživatele]]></string>
<string name="report_spam_scam">Nahlásit spam / podvod</string>
<string name="report_impersonation">Nahlásit zneužívání identity</string>
<string name="report_explicit_content">Nahlásit explicitní obsah</string>
<string name="report_illegal_behaviour">Nahlásit nezákonné jednání</string>
<string name="report_malware">Nahlásit malware</string>
<string name="report_mod">Nahlásit mód</string>
<string name="malware">Malware</string>
<string name="mod">Mód</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Pro odpověď se přihlaste s privátním klíčem</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Pro zvýšení příspěvků se přihlaste s privátním klíčem</string>
<string name="login_with_a_private_key_to_like_posts">Přihlásit se pomocí soukromého klíče pro označení příspěvků jako líbivé</string>
@@ -52,7 +47,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Používáte veřejný klíč a veřejné klíče jsou pouze pro čtení. Přihlaste se pomocí soukromého klíče, abyste mohli skrýt slovo nebo větu</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Používáte veřejný klíč a veřejné klíče jsou pouze pro čtení. Přihlaste se pomocí soukromého klíče, abyste mohli zobrazit slovo nebo větu</string>
<string name="zaps">Zapy</string>
<string name="view_count">Počet zobrazení</string>
<string name="boost">Zvýšení</string>
<string name="boosted">zvýšeno</string>
<string name="edited">upraveno</string>
@@ -65,9 +59,7 @@
<string name="add">Přidat</string>
<string name="replying_to">"odpovídá na "</string>
<string name="and">" a "</string>
<string name="in_channel">"v kanálu "</string>
<string name="profile_banner">Banner profilu</string>
<string name="payment_successful">Platba úspěšná</string>
<string name="error_parsing_error_message">Chyba při zpracování chybové zprávy</string>
<string name="following">" Sleduje"</string>
<string name="followers">" Sledující"</string>
@@ -89,9 +81,7 @@
<string name="secret_visible_text">Viditelná předpona</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Přidat k příspěvku</string>
<string name="error_parsing_preview_for">"Chyba při zpracování náhledu pro %1$s : %2$s"</string>
<string name="preview_card_image_for">"Náhled obrázku karty pro %1$s"</string>
<string name="new_channel">Nový kanál</string>
<string name="channel_name">Název kanálu</string>
<string name="my_awesome_group">Má skvělá skupina</string>
<string name="picture_url">URL obrázku</string>
@@ -102,33 +92,18 @@
<string name="save">Uložit</string>
<string name="create">Vytvořit</string>
<string name="cancel">Zrušit</string>
<string name="failed_to_upload_the_image">Selhalo nahrávání obrázku</string>
<string name="relay_address">Adresa relé</string>
<string name="posts">Příspěvky</string>
<string name="bytes">Byty</string>
<string name="errors">Chyby</string>
<string name="errors_description">Počet chyb připojení v této relaci</string>
<string name="home_feed">Domovský kanál</string>
<string name="private_message_feed">Kanál soukromých zpráv</string>
<string name="public_chat_feed">Kanál veřejného chatu</string>
<string name="global_feed"> Globální kanál</string>
<string name="search_feed">Kanál vyhledávání</string>
<string name="add_a_relay">Přidat přeposílání</string>
<string name="profile_name">Jméno</string>
<string name="display_name">Zobrazované jméno</string>
<string name="my_display_name">Moje zobrazované jméno</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Vítejte Ostrich!</string>
<string name="username">Uživatelské jméno</string>
<string name="my_username">Moje uživatelské jméno</string>
<string name="about_me">O mně</string>
<string name="avatar_url">URL avatara</string>
<string name="banner_url">URL banneru</string>
<string name="website_url">URL webové stránky</string>
<string name="pronouns">Zájmena</string>
<string name="ln_address">LN adresa</string>
<string name="ln_url_outdated">LN URL (zastaralé)</string>
<string name="save_to_gallery">Uložit do galerie</string>
<string name="image_saved_to_the_gallery">Obrázek uložen do galerie</string>
<string name="video_download_has_started_toast">Stahování videa bylo zahájeno…</string>
<string name="media_download_has_started_toast">Stahování médií bylo zahájeno…</string>
@@ -136,11 +111,8 @@
<string name="video_saved_to_the_gallery">Video uloženo do video galerie telefonu</string>
<string name="failed_to_save_the_video">Nepodařilo se uložit video</string>
<string name="upload_image">Nahrát obrázek</string>
<string name="uploading">Nahrávání…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Uživatel nemá nastavenou LN adresu pro přijímání sats</string>
<string name="reply_here">"Odpověď zde…"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Zkopíruje ID poznámky do schránky pro sdílení</string>
<string name="copy_channel_id_note_to_the_clipboard">Zkopírovat ID kanálu (poznámka) do schránky</string>
<string name="edits_the_channel_metadata">Upravit metadata kanálu</string>
<string name="join">Připojit se</string>
<string name="known">Známé</string>
@@ -152,18 +124,14 @@
<string name="replies">Odpovědi</string>
<string name="mutual">Vaše</string>
<string name="gallery">Galerie</string>
<string name="follows">"Sleduje"</string>
<string name="reports">"Zprávy"</string>
<string name="more_options">Více možností</string>
<string name="relays">" Přeposílání"</string>
<string name="website">Webová stránka</string>
<string name="lightning_address">Lightning adresa</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Zkopíruje Nsec ID (vaše heslo) do schránky pro zálohování</string>
<string name="copy_private_key_to_the_clipboard">Zkopírovat tajný klíč do schránky</string>
<string name="show_private_key_qr_code">Zobrazit QR kód privátního klíče</string>
<string name="show_encrypted_private_key_qr_code">Zobrazit šifrovaný QR kód soukromého klíče</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Zkopíruje veřejný klíč do schránky pro sdílení</string>
<string name="copy_public_key_npub_to_the_clipboard">Zkopírovat veřejný klíč (NPub) do schránky</string>
<string name="send_a_direct_message">Poslat přímou zprávu</string>
<string name="edits_the_user_s_metadata">Upravit uživatelova metadata</string>
<string name="follow">Sledovat</string>
@@ -192,8 +160,6 @@
<string name="how_should_we_call_you">Jak bychom vám měli říkat?</string>
<string name="don_t_have_an_account">Nemáte Nostr účet?</string>
<string name="already_have_an_account">Máte již Nostr účet?</string>
<string name="create_a_new_account">Vytvořit nový účet</string>
<string name="generate_a_new_key">Vygenerovat nový klíč</string>
<string name="loading_feed">Načítání zdroje</string>
<string name="loading_account">Načítání účtu</string>
<string name="error_loading_replies">"Chyba při načítání odpovědí: "</string>
@@ -201,12 +167,6 @@
<string name="notification_feed_is_empty">Zatím žádná oznámení.</string>
<string name="feed_is_empty">Zdroj je prázdný.</string>
<string name="refresh">Obnovit</string>
<string name="created">vytvořeno</string>
<string name="with_description_of">s popisem</string>
<string name="and_picture">a obrázkem</string>
<string name="changed_chat_name_to">změnil název chatu na</string>
<string name="description_to">popis na</string>
<string name="and_picture_to">a obrázek na</string>
<string name="leave">Opustit</string>
<string name="unfollow">Přestat sledovat</string>
<string name="channel_created">Kanál vytvořen</string>
@@ -239,7 +199,6 @@
<string name="profanity_hateful_speech">Neslušnost / Nenávistná řeč</string>
<string name="report_hateful_speech">Nahlásit nenávistnou řeč</string>
<string name="report_nudity_porn">Nahlásit nahotu / pornografii</string>
<string name="others">jiné</string>
<string name="mark_all_known_as_read">Označit všechny známé jako přečtené</string>
<string name="mark_all_new_as_read">Označit všechny nové jako přečtené</string>
<string name="mark_all_as_read">Označit všechny jako přečtené</string>
@@ -258,23 +217,18 @@
<string name="biometric_authentication_failed">Autentizace se nezdařila</string>
<string name="biometric_authentication_failed_explainer">Biometrické údaje se nepodařilo ověřit vlastníka tohoto telefonu</string>
<string name="biometric_authentication_failed_explainer_with_error">Biometrické údaje se nepodařilo ověřit vlastníka tohoto telefonu. Chyba: %1$s</string>
<string name="biometric_error">Chyba</string>
<string name="badge_created_by">"Vytvořeno uživatelem %1$s"</string>
<string name="badge_award_image_for">"Obrázek ocenění od %1$s"</string>
<string name="new_badge_award_notif">Obdrželi jste nové ocenění</string>
<string name="award_granted_to">Ocenění uděleno uživateli</string>
<string name="copied_note_text_to_clipboard">Text poznámky zkopírován do schránky</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Uživatelovo ID (@npub) zkopírováno do schránky</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID poznámky (@note1) zkopírováno do schránky</string>
<string name="select_text_dialog_top">Vybrat text</string>
<string name="private_conversation_notification">"&lt;Nelze dešifrovat soukromou zprávu&gt;\n\nByl jste zmíněn v soukromé/zašifrované konverzaci mezi %1$s a %2$s."</string>
<string name="account_switch_add_account_dialog_title">Přidat nový účet</string>
<string name="drawer_accounts">Účty</string>
<string name="account_switch_select_account">Vybrat účet</string>
<string name="account_switch_add_account_btn">Přidat nový účet</string>
<string name="account_switch_active_account">Aktivní účet</string>
<string name="account_switch_has_private_key">Má soukromý klíč</string>
<string name="account_switch_pubkey_only">Pouze veřejný klíč, žádný soukromý klíč</string>
<string name="back">Zpět</string>
<string name="quick_action_select">Vybrat</string>
<string name="quick_action_share_browser_link">Sdílet odkaz prohlížeče</string>
@@ -292,14 +246,12 @@
<string name="quick_action_delete_dialog_btn">Smazat</string>
<string name="quick_action_block">Blokovat</string>
<string name="quick_action_report">Nahlásit</string>
<string name="quick_action_delete_button">Smazat</string>
<string name="quick_action_dont_show_again_button">Nepředvádět znovu</string>
<string name="report_dialog_spam">Spam nebo podvody</string>
<string name="report_dialog_profanity">Sprostota nebo nenávistné chování</string>
<string name="report_dialog_impersonation">Zákeřná zneužití</string>
<string name="report_dialog_nudity">Nahota nebo grafický obsah</string>
<string name="report_dialog_illegal">Nelegální chování</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">Blokování uživatele skryje jejich obsah ve vaší aplikaci. Vaše poznámky jsou stále veřejně viditelné, včetně osob, které blokujete. Blokovaní uživatelé jsou uvedeni na obrazovce s bezpečnostními filtry.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Blokovat a skrýt uživatele]]></string>
<string name="report_dialog_report_btn">Nahlásit zneužití</string>
@@ -319,30 +271,15 @@
<string name="add_to_public_bookmarks">Přidat do veřejných záložek</string>
<string name="remove_from_private_bookmarks">Odebrat ze soukromých záložek</string>
<string name="remove_from_public_bookmarks">Odebrat z veřejných záložek</string>
<string name="wallet_connect_service">Služba Wallet Connect</string>
<string name="wallet_connect_service_explainer">Autorizuje Nostr Secret k provedení platby zapsům, aniž byste opustili aplikaci. Uchovávejte tajemství v bezpečí a pokud je to možné, používejte soukromý přepojovač.</string>
<string name="wallet_connect_service_pubkey">Veřejný klíč Wallet Connect</string>
<string name="wallet_connect_service_relay">Relé Wallet Connect</string>
<string name="wallet_connect_service_secret">Tajemství Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Zobrazit tajný klíč</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex soukromý klíč</string>
<string name="pledge_amount_in_sats">Částka záruky v sats</string>
<string name="post_poll">Zveřejnit hlasování</string>
<string name="poll_heading_required">Povinná pole:</string>
<string name="poll_zap_recipients">Příjemci zapsů</string>
<string name="poll_primary_description">Hlavní popis hlasování…</string>
<string name="poll_option_index">Možnost %s</string>
<string name="poll_option_description">Popis možnosti hlasování</string>
<string name="poll_heading_optional">Volitelná pole:</string>
<string name="poll_zap_value_min">Minimální zaps</string>
<string name="poll_zap_value_max">Maximální zaps</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Uzavřít po</string>
<string name="poll_closing_time_days">dnech</string>
<string name="poll_unable_to_vote">Nebylo možné hlasovat</string>
<string name="poll_is_closed_explainer">Hlasování je uzavřeno pro nové hlasy</string>
<string name="poll_zap_amount">Částka zapsu</string>
<string name="one_vote_per_user_on_atomic_votes">U tohoto typu hlasování je povolen pouze jeden hlas na uživatele</string>
<string name="looking_for_event">"Hledá se událost %1$s"</string>
<string name="custom_zaps_add_a_message">Přidat veřejnou zprávu</string>
@@ -376,12 +313,9 @@
<string name="zap_type_nonzap_explainer">Žádná stopa v Nostr, pouze v Lightning</string>
<string name="file_server">Souborový server</string>
<string name="file_server_description">Zvolte server pro nahrání tohoto souboru</string>
<string name="zap_forward_lnAddress">LnAddress nebo @Uživatel</string>
<string name="media_servers">Media Servery</string>
<string name="set_preferred_media_servers">Nastavte preferované servery pro nahrávání médií.</string>
<string name="no_nip96_server_message">Nemáte nastaveny žádné servery NIP-96. Můžete použít Amethystův seznam nebo přidat některý níže ↓</string>
<string name="no_blossom_server_message">Nemáte nastaveny žádné Blossom servery. Můžete použít Amethystův seznam, nebo přidat některý níže ↓</string>
<string name="built_in_media_servers_title">Integrované mediální servery</string>
<string name="built_in_servers_description">Výchozí seznam Amethysty. Můžete je přidat jednotlivě nebo přidat seznam.</string>
<string name="use_default_servers">Použít výchozí seznam</string>
<string name="add_media_server">Přidat server médií</string>
@@ -394,31 +328,16 @@
<string name="uploading_state_hashing">Hashování</string>
<string name="uploading_state_finished">Hotovo</string>
<string name="uploading_state_error">Chyba</string>
<string name="upload_server_relays_nip95">Vaše relé (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Soubory jsou hostovány vašimi relé. Nový NIP: zkontrolujte, zda je podporují</string>
<string name="privacy_options">Nastavení ochrany soukromí</string>
<string name="connect_via_tor_short">Nastavení Tor/Orbot</string>
<string name="connect_via_tor">Připojit se přes váš Orbot</string>
<string name="connect_via_tor1">Upravit</string>
<string name="connect_via_tor2">Nastavení Tor</string>
<string name="do_you_really_want_to_disable_tor_title">Odpojit se od Orbotu/Toru?</string>
<string name="do_you_really_want_to_disable_tor_text">Vaše data budou okamžitě přenesena do běžné sítě</string>
<string name="yes">Ano</string>
<string name="no">Ne</string>
<string name="follow_list_selection">Seznam sledovaných</string>
<string name="follow_list_kind3follows">Všechna sledování</string>
<string name="follow_list_aroundme">Kolem mě</string>
<string name="follow_list_global">Globální</string>
<string name="follow_list_mute_list">Seznam ztlumení</string>
<string name="connect_through_your_orbot_setup_short">Výchozí port je 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Připojte se přes Tor s Orbotem
\n\n1. Nainstalujte [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Spusťte Orbot
\n3. V Orbotu zkontrolujte port pro Socks. Výchozí hodnota je 9050
\n4. Pokud je to nutné, změňte port v Orbotu
\n5. Nastavte port Socks v této obrazovce
\n6. Stiskněte tlačítko Aktivovat Tor
</string>
<string name="orbot_socks_port">Port Orbot Socks</string>
<string name="use_internal_tor">Aktivní Tor Engine</string>
<string name="use_internal_tor_explainer">Použijte interní verzi nebo Orbot</string>
@@ -460,8 +379,6 @@
<string name="tor_full_privacy_explainer">Skryjte svou IP ve všech připojeních</string>
<string name="tor_custom_explainer">Vytvořte si vlastní</string>
<string name="invalid_port_number">Neplatné číslo portu</string>
<string name="use_orbot">Použít Orbot</string>
<string name="disconnect_from_your_orbot_setup">Odpojit Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Soukromé zprávy</string>
<string name="app_notification_dms_channel_description">Upozorní vás, když dorazí soukromá zpráva</string>
<string name="app_notification_zaps_channel_name">Přijaté zapsy</string>
@@ -470,20 +387,9 @@
<string name="app_notification_zaps_channel_message_from">Od %1$s</string>
<string name="app_notification_zaps_channel_message_for">pro %1$s</string>
<string name="reply_notify">Upozornit: </string>
<string name="channel_list_join_conversation">Připojit se ke konverzaci</string>
<string name="channel_list_user_or_group_id">ID uživatele nebo skupiny</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent nebo hex</string>
<string name="channel_list_create_channel">Vytvořit</string>
<string name="channel_list_join_channel">Připojit se</string>
<string name="today">Dnes</string>
<string name="content_warning">Upozornění na obsah</string>
<string name="content_warning_explanation">Tento příspěvek obsahuje citlivý obsah, který může být pro některé lidi urážlivý nebo rušivý</string>
<string name="content_warning_hide_all_sensitive_content">Vždy skrýt citlivý obsah</string>
<string name="content_warning_show_all_sensitive_content">Vždy zobrazit citlivý obsah</string>
<string name="content_warning_see_warnings">Vždy zobrazovat upozornění na obsah</string>
<string name="recommended_apps">Doporučuje: </string>
<string name="filter_spam_from_strangers">Filtrovat spam od cizinců</string>
<string name="warn_when_posts_have_reports_from_your_follows">Varovat, když příspěvky obsahují hlášení od vašich sledovaných osob</string>
<string name="new_reaction_symbol">Nový symbol reakce</string>
<string name="no_reaction_type_setup_long_press_to_change">Nebyly vybrány žádné typy reakcí. Dlouhým stiskem změňte</string>
<string name="zapraiser">Zap-sběr</string>
@@ -494,37 +400,24 @@
<string name="write_to_relay">Zapisovat do Relay</string>
<string name="write_to_relay_description">Množství bajtů, které bylo odesláno na toto relé, včetně filtrů a událostí</string>
<string name="read_from_relay_description">Množství bajtů, které bylo přijato z tohoto relé, včetně filtrů a událostí</string>
<string name="an_error_occurred_trying_to_get_relay_information">Při pokusu o získání informací z Relay se vyskytla chyba z %1$s</string>
<string name="owner">Vlastník</string>
<string name="version">Verze</string>
<string name="software">Programové vybavení</string>
<string name="contact">Kontakt</string>
<string name="supports">Podporované NIPs</string>
<string name="admission_fees">Vstupné</string>
<string name="payments_url">URL plateb</string>
<string name="limitations">Omezení</string>
<string name="countries">Země</string>
<string name="languages">Jazyky</string>
<string name="tags">Tagy</string>
<string name="posting_policy">Politika příspěvků</string>
<string name="relay_error_messages">Chyby a upozornění z tohoto relé</string>
<string name="message_length">Délka zprávy</string>
<string name="subscriptions">Předplatné</string>
<string name="filters">Filtry</string>
<string name="subscription_id_length">Délka ID předplatného</string>
<string name="minimum_prefix">Minimální předpona</string>
<string name="maximum_event_tags">Maximální počet značek události</string>
<string name="content_length">Délka obsahu</string>
<string name="minimum_pow">Minimální PoW</string>
<string name="auth">Ověření</string>
<string name="payment">Platba</string>
<string name="cashu">Cashu Token</string>
<string name="cashu_redeem">Vyměnit</string>
<string name="cashu_redeem_to_zap">Poslat do Zap peněženky</string>
<string name="cashu_redeem_to_cashu">Otevřít v Cashu Wallet</string>
<string name="cashu_copy_token">Kopírovat token</string>
<string name="no_lightning_address_set">Není nastavena žádná Lightning adresa</string>
<string name="copied_token_to_clipboard">Token zkopírován do schránky</string>
<string name="live_stream_live_tag">ŽIVĚ</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">UKONČENO</string>
@@ -544,7 +437,6 @@
<string name="preferences">Nastavení aplikace</string>
<string name="settings">Nastavení</string>
<string name="connectivity_type_always">Vždy</string>
<string name="connectivity_type_wifi_only">Pouze Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">Neomezená WiFi</string>
<string name="connectivity_type_never">Nikdy</string>
<string name="ui_feature_set_type_complete">Hotovo</string>
@@ -568,7 +460,6 @@
<string name="ui_style_description">Zvolte styl příspěvku</string>
<string name="gallery_style">Styl galerie profilu</string>
<string name="gallery_style_description">Zvolte styl galerie</string>
<string name="load_image">Načíst obrázek</string>
<string name="spamming_users">Spamovací uživatelé</string>
<string name="muted_button">Ztlumené. Klikněte pro odztlumení</string>
<string name="mute_button">Zvuk zapnutý. Klikněte pro ztlumení</string>
@@ -576,12 +467,8 @@
<string name="nip05_verified">Adresa Nostr byla ověřena</string>
<string name="nip05_failed">Ověření adresy Nostr se nezdařilo</string>
<string name="nip05_checking">Kontrola adresy Nostr</string>
<string name="select_deselect_all">Vybrat/Zrušit vše</string>
<string name="default_relays">Výchozí</string>
<string name="default_relays_longer">Obnovit výchozí nastavení</string>
<string name="select_a_relay_to_continue">Vyberte relé pro pokračování</string>
<string name="zap_forward_title">Přeposílat Zapy na:</string>
<string name="zap_forward_explainer">Podporující klienti budou přeposílat Zapy na níže uvedenou LN adresu nebo uživatelský profil místo vaší</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_exclusive">Lokace-Exkluzívní příspěvek</string>
@@ -589,9 +476,6 @@
<string name="loading_location">Načítání umístění</string>
<string name="lack_location_permissions">Žádná lokace oprávnění</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_nip17_might_not_be_available_title">Nová funkce</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_nip17_activate">Aktivovat</string>
<string name="messages_create_public_chat">Veřejné</string>
<string name="messages_create_public_private_chat_description">Nová veřejná nebo soukromá skupina</string>
<string name="messages_new_message">Soukromé</string>
@@ -608,7 +492,6 @@
<string name="automatically_load_images_gifs_description">Automaticky načítat obrázky a GIFy</string>
<string name="automatically_play_videos_description">Automaticky přehrávat videa a GIFy</string>
<string name="automatically_show_url_preview_description">Zobrazit náhledy URL</string>
<string name="load_image_description">Kdy načíst obrázek</string>
<string name="copy_stack_to_clipboard">Kopírovat zásobník</string>
<string name="copy_to_clipboard">Kopírovat do schránky</string>
<string name="copy_npub_to_clipboard">Kopírovat npub do schránky</string>
@@ -619,45 +502,23 @@
<string name="media_added">Média přidána</string>
<string name="media_added_to_profile_gallery">Média přidána do vaší profilové galerie</string>
<string name="created_at">Vytvořeno</string>
<string name="rules">Pravidla</string>
<string name="login_with_external_signer">Přihlásit se pomocí Amber</string>
<string name="status_update">Aktualizovat svůj stav</string>
<string name="lightning_wallets_not_found">Chyba při zpracování chybové zprávy</string>
<string name="poll_zap_value_min_max_explainer">Hlasy jsou váženy podle hodnoty zapu. Můžete nastavit minimální částku, abyste se vyhnuli spammerům, a maximální částku, abyste zabránili velkým zapperům, kteří by mohli ovládnout hlasování. Použijte stejnou částku v obou polích, aby byla hodnota každého hlasu stejná. Nechte prázdné pro přijetí libovolné částky.</string>
<string name="error_dialog_zap_error">Nelze odeslat zap</string>
<string name="error_dialog_talk_to_user">Poslat zprávu uživateli</string>
<string name="error_dialog_talk_to_user_name">Zpráva %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Nepodařilo se dosáhnout %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Nepodařilo se sestavit adresu URL NIP-11 pro %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Nepodařilo se dosáhnout %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Nepodařilo se zpracovat odpověď od %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">Relé odmítlo požadavek %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Nepodařilo se dosáhnout %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Nepodařilo se zpracovat výsledek z %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s selhalo s kódem %2$s</string>
<string name="active_for">Aktivní pro: </string>
<string name="active_for_home">Domů</string>
<string name="active_for_msg">Zprávy</string>
<string name="active_for_chats">Chaty</string>
<string name="active_for_global">Celosvětové</string>
<string name="active_for_search">Hledání</string>
<string name="zap_split_title">Rozdělit a přeposlat Zaps</string>
<string name="zap_split_explainer">Podporované klienty budou Zapy rozdělovat a přeposílat uživatelům přidaným zde místo vám</string>
<string name="zap_split_search_and_add_user">Hledat a přidat uživatele</string>
<string name="zap_split_search_and_add_user_placeholder">Uživatelské jméno nebo zobrazované jméno</string>
<string name="missing_lud16">Chybí nastavení blesku</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Uživatel %1$s nemá nastavenou bleskovou adresu pro přijímání satoshi</string>
<string name="zap_split_weight">Procenta</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Rozdělování Zapů s</string>
<string name="forwarding_zaps_to">Přeposílání Zapů na</string>
<string name="lightning_wallets_not_found2">Bleskové peněženky nenalezený</string>
<string name="paid">Zaplaceno</string>
<string name="wallet_number">Peněženka %1$s</string>
<string name="error_opening_external_signer">Chyba při otevírání aplikace pro podpis</string>
<string name="error_opening_external_signer_description">Signner aplikace nebyla nalezena. Zkontrolujte, zda aplikace nebyla odinstalována</string>
<string name="sign_request_rejected">Žádost o podpis byla zamítnuta</string>
<string name="sign_request_rejected_description">Ujistěte se, že podepisující aplikace autorizovala tuto transakci</string>
<string name="no_wallet_found_with_error">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury (Chyba: %1$s). Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string>
<string name="no_wallet_found">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury. Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string>
@@ -668,36 +529,19 @@
<string name="select_an_option">Zvolte možnost</string>
<string name="error_dialog_pay_invoice_error">Nelze zaplatit fakturu</string>
<string name="error_dialog_pay_withdraw_error">Nepodařilo se vybrat</string>
<string name="error_parsing_nip47_title">Nepodařilo se nastavit Wallet Connect</string>
<string name="error_parsing_nip47">Chyba při analýze připojení NIP-47. Zkontrolujte, zda je to správné u poskytovatele peněženky: %1$s. Chyba: %2$s</string>
<string name="error_parsing_nip47_no_error">Chyba při analýze připojení NIP-47. Zkontrolujte, zda je to správné u poskytovatele peněženky: %1$s.</string>
<string name="cashu_failed_redemption">Nepodařilo se použít Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint poskytl následující chybovou zprávu: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Tokeny Cashu již byly utraceny.</string>
<string name="cashu_successful_redemption">Obdrženo Cashu</string>
<string name="cashu_successful_redemption_explainer">%1$s sats bylo odesláno do vaší peněženky. (Poplatek: %2$s sats)</string>
<string name="cashu_no_wallet_found">V systému nebyla nalezena žádná kompatibilní peněženka Cashu</string>
<string name="error_unable_to_fetch_invoice">Nebylo možné načíst fakturu ze serverů příjemce</string>
<string name="wallet_connect_pay_invoice_error_error">Poskytovatel připojení vaší peněženky vrátil následující chybu: %1$s</string>
<string name="could_not_connect_to_tor">Nepodařilo se připojit k Tor</string>
<string name="unable_to_download_relay_document">Stáhnout relé dokument není k dispozici</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nepodařilo se sestavit LNUrl z Lightning adresy \"%1$s\". Zkontrolujte nastavení uživatele</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Služba blesku příjemce v %1$s není k dispozici. Byla vypočtena z adresy blesku \"%2$s\". Chyba: %3$s. Zkontrolujte, zda je server aktivní a zda je adresa blesku správná</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Nepodařilo se vyřešit %1$s. Zkontrolujte, zda jste připojeni, zda je server aktivní a zda je adresa %2$s správná</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Nepodařilo se vyřešit %1$s. Zkontrolujte, zda jste připojeni, zda je server aktivní a zda je adresa %2$s správná.\n\nVýjimka byla: %3$s</string>
<string name="could_not_fetch_invoice_from">Nepodařilo se načíst fakturu z %1$s</string>
<string name="could_not_fetch_invoice_from_details">Nelze získat fakturu z %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Chyba při analýze JSON z Lightning adresy. Zkontrolujte uživatelovo bleskové nastavení</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Chyba při analýze JSON z %1$s. Zkontrolujte uživatelské bleskové nastavení</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL adresa zpětného volání nebyla nalezena v konfiguraci serveru pro bleskovou adresu uživatele</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">Adresa URL zpětného volání nebyla nalezena v odpovědi %1$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Chyba při analýze JSON z načtení faktur v Lightning adrese. Zkontrolujte uživatelské nastavení</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Chyba při analýze JSON z načtení faktury %1$s. Zkontrolujte uživatelské bleskové nastavení</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Nesprávná částka faktury (%1$s sats) od %2$s. Měla by být %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Nepodařilo se vytvořit bleskovou fakturu před odesláním zap. Blesková peněženka příjemce odeslala následující chybu: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Nelze vytvořit bleskovou fakturu. Zpráva od %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Nepodařilo se vytvořit bleskovou fakturu před odesláním zap. Prvek pr nebyl nalezen v výsledném JSON.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Nelze vytvořit bleskovou fakturu z %1$s: Prvek pr nebyl nalezen ve výsledném JSON.</string>
<string name="read_only_user">Uživatel pouze pro čtení</string>
<string name="no_reactions_setup">Žádné nastavení reakcí</string>
<string name="select_push_server">Vyberte distributor push oznámení</string>
@@ -715,13 +559,11 @@
<string name="send_the_seller_a_message">Poslat prodejci zprávu</string>
<string name="hi_seller_is_this_still_available">Ahoj %1$s, je to stále k dispozici?</string>
<string name="hi_there_is_this_still_available">Ahoj, je to stále k dispozici?</string>
<string name="classifieds">Prodat předmět</string>
<string name="classifieds_title">Název</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Stav</string>
<string name="classifieds_category">Kategorie</string>
<string name="classifieds_price">Cena (v Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Místo</string>
<string name="classifieds_location_placeholder">Město, stát, země</string>
<string name="classifieds_condition_new">Nový</string>
@@ -750,20 +592,13 @@
<string name="classifieds_category_other">Ostatní</string>
<string name="failed_to_upload_media_no_details">Nepodařilo se nahrát média</string>
<string name="could_not_open_the_compressed_file">Nepodařilo se otevřít komprimovaný soubor</string>
<string name="error_when_compressing_media">Chyba při komprimování média: %1$s</string>
<string name="failed_to_upload_media">Chyba při nahrávání: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">Server po nahrání neposkytl URL</string>
<string name="could_not_download_from_the_server">Nepodařilo se stáhnout nahraná média ze serveru</string>
<string name="could_not_check_downloaded_file">Nelze zkontrolovat stažený soubor po nahrání: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">Nelze připravit místní soubor k nahrání: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Nepodařilo se dosáhnout %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Nahrání selhalo: %1$s</string>
<string name="failed_to_delete_with_message">Smazání selhalo: %1$s</string>
<string name="media_too_big_for_nip95">Média je příliš velká pro NIP-95</string>
<string name="unable_to_load_thumbnail">Nelze načíst náhled</string>
<string name="could_not_prepare_header">Nelze připravit informace v záhlaví: %1$s</string>
<string name="compression_cancelled">Komprese zrušena</string>
<string name="compression_returned_null">Komprese se nepodařilo vrátit soubor</string>
<string name="media_compression_quality_label">Kvalita médií</string>
<string name="media_compression_quality_explainer">Vyberte Nízkou kvalitu pro kompresi médií na menší soubor s nižší kvalitou, Vysokou kvalitu pro kompresi na větší soubor s vyšší kvalitou, nebo \"Bez komprese\" pro nahrání médií bez komprese.</string>
<string name="media_compression_quality_low">Nízká</string>
@@ -772,15 +607,11 @@
<string name="media_compression_quality_uncompressed">Bez komprese</string>
<string name="edit_draft">Upravit koncept</string>
<string name="login_with_qr_code">Přihlášení pomocí QR kódu</string>
<string name="route">Trasa</string>
<string name="route_home">Domů</string>
<string name="route_search">Hledat</string>
<string name="route_discover">Objevit</string>
<string name="route_messages">Zprávy</string>
<string name="route_notifications">Upozornění</string>
<string name="route_global">Globální</string>
<string name="route_video">Krátké</string>
<string name="route_security_filters">Bezpečnostní filtry</string>
<string name="new_post">Nový příspěvek</string>
<string name="new_short">Nové Shorts: obrázky nebo videa</string>
<string name="new_community_note">Nová poznámka komunity</string>
@@ -795,29 +626,22 @@
<string name="relay_info">Relé %1$s</string>
<string name="expand_relay_list">Rozbalit seznam relací</string>
<string name="note_options">Volby poznámky</string>
<string name="relay_list_selector">Výběr seznamu relé</string>
<string name="poll">Anketa</string>
<string name="disable_poll">Vypnout anketu</string>
<string name="add_bitcoin_invoice">Bitcoinová faktura</string>
<string name="cancel_bitcoin_invoice">Zrušit Bitcoinovou fakturu</string>
<string name="cancel_classifieds">Zrušit prodej položky</string>
<string name="add_zapraiser">Zap-sběr</string>
<string name="cancel_zapraiser">Zrušit Zap-zběrku</string>
<string name="add_location">Místo</string>
<string name="remove_location">Odstranit umístění</string>
<string name="add_zap_split">Zap splits</string>
<string name="cancel_zap_split">Zrušit rozdělení Zap</string>
<string name="add_content_warning">Přidat upozornění na obsah</string>
<string name="remove_content_warning">Odstranit upozornění na obsah</string>
<string name="show_npub_as_a_qr_code">Zobrazit npub jako QR kód</string>
<string name="invalid_nip19_uri">Neplatná adresa</string>
<string name="invalid_nip19_uri_description">Amethyst obdržel URI k otevření, ale tento URI byl neplatný: %1$s</string>
<string name="dm_relays_title">Relé DM Schránky</string>
<string name="dm_relays_through">Relé: %1$s</string>
<string name="dm_relays_regular">Používání běžných relé</string>
<string name="dm_relays_not_found">Nastavte svá relé soukromé schránky</string>
<string name="dm_relays_not_found_description">Toto nastavení umožňuje všem vědět, která relé použít při posílání zpráv vám. Bez nich můžete některé zprávy zmeškat.</string>
<string name="dm_relays_not_found_examples">Dobré možnosti jsou:\n - inbox.nostr.wine (placené)\n - you.nostr1.com (osobní relé - placené)</string>
<string name="dm_relays_not_found_examples2">Dobré možnosti jsou:\n - auth.nostr1.com (zdarma)\n - inbox.nostr.wine (placeno)\n - relay.0xchat.com (zdarma)</string>
<string name="dm_relays_not_found_editing">Vložte 1–3 relé, která budou sloužit jako vaše soukromá schránka. Relé DM schránky by měla přijímat jakékoli zprávy od kohokoli, ale pouze vám umožnit jejich stahování.</string>
<string name="dm_relays_not_found_create_now">Nastavit nyní</string>
@@ -826,7 +650,6 @@
<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="dm_upload">Nahrát v DM</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>
@@ -836,10 +659,6 @@
<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="kind_3_recommended_section">Doporučené relé</string>
<string name="kind_3_recommended_section_description">Pro příjem příspěvků od uvedených uživatelů přidejte následující relé do seznamu obecných relat.</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>
@@ -851,11 +670,8 @@
<string name="this_version_brought_to_you_by">Tato verze byla představena pro vás:</string>
<string name="version_name">Verze %1$s</string>
<string name="thank_you">Děkujeme!</string>
<string name="max_limit">Maximální limit</string>
<string name="restricted_writes">Omezené zápisy</string>
<string name="forked_from">Rozštěpováno od</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git repositář: %1$s</string>
<string name="git_web_address">Internet:</string>
<string name="git_clone_address">Klon:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -863,20 +679,13 @@
<string name="ots_info_description">Existuje důkaz, že tento příspěvek byl podepsán někdy před %1$s. Důkaz byl označen v Bitcoin blockchainu v tomto datu a čase.</string>
<string name="edit_post">Upravit příspěvek</string>
<string name="proposal_to_edit">Návrh na vylepšení vašeho příspěvku</string>
<string name="message_to_author">Souhrn změn</string>
<string name="message_to_author_placeholder">Rychlé opravy…</string>
<string name="accept_the_suggestion">Přijmout návrhy</string>
<string name="enter_picture_in_picture">Spustit video ve vyskakovacím okně</string>
<string name="accessibility_download_for_offline">Stáhnout</string>
<string name="accessibility_lyrics_on">Text písně zapnuto</string>
<string name="accessibility_lyrics_off">Text písně vypnuto</string>
<string name="accessibility_turn_on_sealed_message">Zapečetěná zpráva vypnuta. Klikněte pro zapnutí zapečetěné zprávy</string>
<string name="accessibility_turn_off_sealed_message">Zapečetěná zpráva zapnuta. Klikněte pro vypnutí zapečetěné zprávy</string>
<string name="accessibility_send">Odeslat</string>
<string name="accessibility_play_username">Přehrát uživatelské jméno jako audio</string>
<string name="accessibility_pushpin">Připínáček</string>
<string name="accessibility_scan_qr_code">Skenovat QR kód</string>
<string name="accessibility_navigate_to_alby">Přejít na poskytovatele peněženky třetí strany Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">Není možné odpovědět na koncept</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">Není možné citovat koncept</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">Není možné reagovat na koncept</string>
@@ -917,15 +726,12 @@
<string name="http_status_507">Nedostatečné úložiště - Server nemá dostatek úložiště, aby úspěšně zpracoval požadavek</string>
<string name="http_status_508">Detekována smyčka - Server detekuje nekonečnou smyčku při zpracování požadavku</string>
<string name="http_status_511">Vyžadováno ověření sítě - Klient musí být autentizován, aby získal přístup k síti</string>
<string name="media_servers_nip96_section">NIP-96 Servery</string>
<string name="media_servers_nip96_explainer">Přidejte tolik serverů, kolik chcete. Můžete si vybrat, které použít později při nahrávání obrázku</string>
<string name="media_servers_blossom_section">Blossom Servery</string>
<string name="media_servers_blossom_explainer">Přidejte tolik serverů, kolik chcete. Můžete si vybrat, které použít později při nahrávání obrázku</string>
<string name="add_a_nip96_server">Přidat NIP-96 server</string>
<string name="add_a_blossom_server">Přidat Blossom Server</string>
<string name="delete_all">Vymazat vše</string>
<string name="delete_all_drafts_confirmation">Opravdu chcete odstranit všechny koncepty?</string>
<string name="stack">Zásobník:</string>
<string name="torrent_file">Torrent soubor</string>
<string name="torrent_download">Stáhnout</string>
<string name="torrent_failure">Nepodařilo se otevřít soubor</string>
@@ -938,37 +744,20 @@
<string name="feed_filter_select_an_option">Filtr kanálu, %1$s</string>
<string name="feed">Kanál</string>
<string name="mod_queue">Fronta moderace</string>
<string name="invalid_nip47_uri_title">Neplatné NIP-47 URI</string>
<string name="invalid_nip47_uri_description">URI %1$s není platné přihlašovací URI NIP-47.</string>
<string name="public_home_section_explainer_profile">Uživatel zveřejňuje svůj obsah na těchto přenašečích</string>
<string name="public_notif_section_explainer_profile">Uživatel přijímá oznámení na těchto přenašečích</string>
<string name="private_inbox_section_explainer_profile">Uživatel přijímá soukromé zprávy na těchto přenašečích</string>
<string name="this_message_will_disappear_in_days">Tato zpráva zmizí za %1$d dní</string>
<string name="record_a_video">Nahrát video</string>
<string name="crashreport_found">Nalezen záznam o pádu</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Chcete poslat poslední záznam o pádu do Amethystu v soukromé zprávě? Žádné osobní údaje nebudou sdíleny</string>
<string name="crashreport_found_send">Odeslat</string>
<string name="community_description">O nás</string>
<string name="guidelines">Pokyny</string>
<string name="moderators">Moderátoři</string>
<string name="open_dropdown_menu">Otevřít rozbalovací nabídku</string>
<string name="follow_sets">Sady sledování</string>
<string name="labeled_bookmarks">Označené záložky</string>
<string name="general_bookmarks">Obecné záložky</string>
<string name="follow_set_type_public">Veřejné</string>
<string name="follow_set_type_private">Soukromé</string>
<string name="follow_set_type_mixed">Smíšené</string>
<string name="follow_set_empty_feed_msg">Zdá se, že zatím nemáte žádné sady sledování.\nKlepněte níže pro obnovení nebo použijte tlačítko přidat k vytvoření nové.</string>
<string name="follow_set_add_author_from_note_action">Přidat autora do sady sledování</string>
<string name="follow_set_profile_actions_menu_description">Přidat nebo odebrat uživatele ze seznamů, nebo vytvořit nový seznam s tímto uživatelem.</string>
<string name="follow_set_icon_description">Ikona pro seznam</string>
<string name="follow_set_absence_indicator">%1$s není v tomto seznamu</string>
<string name="follow_set_man_dialog_title">Vaše sady sledování</string>
<string name="follow_set_empty_dialog_msg">Nebyly nalezeny žádné sady sledování, nebo žádné nemáte. Klepněte níže pro obnovení nebo použijte menu pro vytvoření nové.</string>
<string name="follow_set_error_dialog_msg">Došlo k problému při načítání: %1$s</string>
<string name="follow_set_creation_menu_title">Vytvořit nový seznam</string>
<string name="follow_set_creation_item_label">Vytvořit nový seznam %1$s s uživatelem</string>
<string name="follow_set_creation_item_description">Vytvoří %1$s sadu sledování a přidá do ní %2$s.</string>
<string name="follow_set_creation_dialog_title">Nový seznam sledovaných</string>
<string name="follow_set_creation_name_label">Název sady</string>
<string name="follow_set_creation_desc_label">Popis sady (volitelné)</string>
@@ -978,8 +767,12 @@
<string name="follow_set_rename_dialog_indicator_second_part"> na..</string>
<string name="rename">Přejmenovat</string>
<string name="torrent_no_info">Událost nemá dostatek informací pro vytvoření magnet odkazu</string>
<string name="my_lists_and_sets">Moje seznamy/sady</string>
<string name="select_signer">Vybrat podepisovatele</string>
<string name="video_codec_h265_label">Použít kodek H.265/HEVC</string>
<string name="video_codec_h265_description">Lepší kvalita při menší velikosti souboru, ale ne všechna zařízení podporují přehrávání H.265.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Služba blesku příjemce v %1$s není k dispozici. Byla vypočtena z adresy blesku \"%2$s\". Chyba: %3$s. Zkontrolujte, zda je server aktivní a zda je adresa blesku správná</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Nepodařilo se vyřešit %1$s. Zkontrolujte, zda jste připojeni, zda je server aktivní a zda je adresa %2$s správná.\n\nVýjimka byla: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Chyba při analýze JSON z načtení faktury %1$s. Zkontrolujte uživatelské bleskové nastavení</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Nelze vytvořit bleskovou fakturu. Zpráva od %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Nelze vytvořit bleskovou fakturu z %1$s: Prvek pr nebyl nalezen ve výsledném JSON.</string>
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
File diff suppressed because it is too large Load Diff
+5 -215
View File
@@ -21,8 +21,6 @@
<string name="illegal_behavior">Illegales Verhalten</string>
<string name="other">Andere</string>
<string name="harassment">Belästigung</string>
<string name="unknown">Unbekannt</string>
<string name="relay_icon">Relay-Symbol</string>
<string name="unknown_author">Unbekannter Autor</string>
<string name="copy_text">Text kopieren</string>
<string name="copy_user_pubkey">Autor-ID kopieren</string>
@@ -36,12 +34,9 @@
<string name="block_hide_user"><![CDATA[Benutzer blockieren und ausblenden]]></string>
<string name="report_spam_scam">Spam / Betrug melden</string>
<string name="report_impersonation">Vortäuschung melden</string>
<string name="report_explicit_content">Anstößigen Inhalt melden</string>
<string name="report_illegal_behaviour">Illegales Verhalten melden</string>
<string name="report_malware">Malware melden</string>
<string name="report_mod">Melde Mod</string>
<string name="malware">Malware</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um antworten zu können</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um Beiträge boosten zu können</string>
<string name="login_with_a_private_key_to_like_posts">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um Beiträge zu liken</string>
@@ -52,7 +47,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Sie verwenden einen öffentlichen Schlüssel, und öffentliche Schlüssel sind nur lesbar. Melden Sie sich mit einem privaten Schlüssel an, um ein Wort oder einen Satz auszublenden</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Sie verwenden einen öffentlichen Schlüssel und öffentliche Schlüssel sind schreibgeschützt. Mit einem privaten Schlüssel anmelden, um ein Wort oder einen Satz anzeigen zu können</string>
<string name="zaps">Zaps</string>
<string name="view_count">Aufrufe</string>
<string name="boost">Boost</string>
<string name="boosted">boosted</string>
<string name="edited">bearbeitet</string>
@@ -65,9 +59,7 @@
<string name="add">Hinzufügen</string>
<string name="replying_to">"Antworten auf "</string>
<string name="and">" und "</string>
<string name="in_channel">"im Kanal "</string>
<string name="profile_banner">Profilbanner</string>
<string name="payment_successful">Zahlung erfolgreich</string>
<string name="error_parsing_error_message">Fehler beim Parsen der Fehlermeldung</string>
<string name="following">" Folgen"</string>
<string name="followers">" Anhänger"</string>
@@ -89,9 +81,7 @@
<string name="secret_visible_text">Sichtbares Präfix</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Zum Beitrag hinzufügen</string>
<string name="error_parsing_preview_for">"Fehler beim Parsen der Vorschau für %1$s: %2$s"</string>
<string name="preview_card_image_for">"Vorschaukartenbild für %1$s"</string>
<string name="new_channel">Neuer Kanal</string>
<string name="channel_name">Kanalname</string>
<string name="my_awesome_group">Meine tolle Gruppe</string>
<string name="picture_url">Bild-URL</string>
@@ -102,33 +92,18 @@
<string name="save">Speichern</string>
<string name="create">Erstellen</string>
<string name="cancel">Abbrechen</string>
<string name="failed_to_upload_the_image">Fehler beim Hochladen des Bildes</string>
<string name="relay_address">Relay-Adresse</string>
<string name="posts">Beiträge</string>
<string name="bytes">Bytes</string>
<string name="errors">Fehler</string>
<string name="errors_description">Anzahl der Verbindungsfehler in dieser Sitzung</string>
<string name="home_feed">Startseite</string>
<string name="private_message_feed">Private Nachrichten</string>
<string name="public_chat_feed">Öffentlicher Chat</string>
<string name="global_feed">Globale Feed</string>
<string name="search_feed">Such-Feed</string>
<string name="add_a_relay">Relay hinzufügen</string>
<string name="profile_name">Name</string>
<string name="display_name">Anzeigename</string>
<string name="my_display_name">Mein Anzeigename</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Willkommen Ostrich!</string>
<string name="username">Benutzername</string>
<string name="my_username">Mein Benutzername</string>
<string name="about_me">Über mich</string>
<string name="avatar_url">Avatar-URL</string>
<string name="banner_url">Banner-URL</string>
<string name="website_url">Website-URL</string>
<string name="pronouns">Pronomen</string>
<string name="ln_address">LN-Adresse</string>
<string name="ln_url_outdated">LN-URL (veraltet)</string>
<string name="save_to_gallery">In die Galerie abspeichern</string>
<string name="image_saved_to_the_gallery">Bild in der Gal
erie gespeichert</string>
@@ -138,11 +113,8 @@ erie gespeichert</string>
<string name="video_saved_to_the_gallery">Video in der Videogalerie des Telefons gespeichert</string>
<string name="failed_to_save_the_video">Video konnte nicht gespeichert werden</string>
<string name="upload_image">Bild hochladen</string>
<string name="uploading">Hochladen…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Der Benutzer hat keine Lightning-Adresse eingerichtet, um Sats zu empfangen</string>
<string name="reply_here">"Hier antworten…"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Kopiert die Notiz-ID zum Teilen in die Zwischenablage</string>
<string name="copy_channel_id_note_to_the_clipboard">Kopiere Kanal-ID (Notiz) in die Zwischenablage</string>
<string name="edits_the_channel_metadata">Bearbeitet die Kanalmetadaten</string>
<string name="join">Beitreten</string>
<string name="known">Bekannt</string>
@@ -154,18 +126,14 @@ erie gespeichert</string>
<string name="replies">Antworten</string>
<string name="mutual">Deine</string>
<string name="gallery">Galerie</string>
<string name="follows">"Folgt"</string>
<string name="reports">"Berichte"</string>
<string name="more_options">Weitere Optionen</string>
<string name="relays">" Relais"</string>
<string name="website">Webseite</string>
<string name="lightning_address">Lightning-Adresse</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopiert die Nsec-ID (Ihr Passwort) zur Sicherung in die Zwischenablage</string>
<string name="copy_private_key_to_the_clipboard">Kopiere geheimen Schlüssel in die Zwischenablage</string>
<string name="show_private_key_qr_code">Privaten QR-Code anzeigen</string>
<string name="show_encrypted_private_key_qr_code">QR-Code für verschlüsselten privaten Schlüssel anzeigen</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Kopiert den öffentlichen Schlüssel zum Teilen in die Zwischenablage</string>
<string name="copy_public_key_npub_to_the_clipboard">Kopiere öffentlichen Schlüssel (NPub) in die Zwischenablage</string>
<string name="send_a_direct_message">Sende eine Direktnachricht</string>
<string name="edits_the_user_s_metadata">Bearbeitet die Benutzermetadaten</string>
<string name="follow">Folgen</string>
@@ -196,8 +164,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="how_should_we_call_you">Wie sollen wir Sie nennen?</string>
<string name="don_t_have_an_account">Sie haben kein Nostr-Konto?</string>
<string name="already_have_an_account">Haben Sie schon ein Nostr-Konto?</string>
<string name="create_a_new_account">Neues Konto anlegen</string>
<string name="generate_a_new_key">Neuen Schlüssel generieren</string>
<string name="loading_feed">Feed wird geladen</string>
<string name="loading_account">Konto wird geladen</string>
<string name="error_loading_replies">"Fehler beim Laden der Antworten: "</string>
@@ -205,12 +171,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="notification_feed_is_empty">Noch keine Benachrichtigungen.</string>
<string name="feed_is_empty">Feed ist leer.</string>
<string name="refresh">Aktualisieren</string>
<string name="created">erstellt</string>
<string name="with_description_of">mit Beschreibung von</string>
<string name="and_picture">und Bild</string>
<string name="changed_chat_name_to">Chat-Namen geändert zu</string>
<string name="description_to">Beschreibung zu</string>
<string name="and_picture_to">und Bild zu</string>
<string name="leave">Verlassen</string>
<string name="unfollow">Entfolgen</string>
<string name="channel_created">Kanal erstellt</string>
@@ -243,7 +203,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="profanity_hateful_speech">Beleidigungen / Hassrede</string>
<string name="report_hateful_speech">Hassrede melden</string>
<string name="report_nudity_porn">Nacktheit / Pornografie melden</string>
<string name="others">andere</string>
<string name="mark_all_known_as_read">Alle als bekannt markieren</string>
<string name="mark_all_new_as_read">Alle als neu markieren</string>
<string name="mark_all_as_read">Alle als gelesen markieren</string>
@@ -262,23 +221,18 @@ anz der Bedingungen ist erforderlich</string>
<string name="biometric_authentication_failed">Authentifizierung fehlgeschlagen</string>
<string name="biometric_authentication_failed_explainer">Biometrie konnte den Besitzer dieses Telefons nicht authentifizieren</string>
<string name="biometric_authentication_failed_explainer_with_error">Biometrie konnte den Besitzer dieses Telefons nicht authentifizieren. Fehler: %1$s</string>
<string name="biometric_error">Fehler</string>
<string name="badge_created_by">"Erstellt von %1$s"</string>
<string name="badge_award_image_for">"Auszeichnungsbild für %1$s"</string>
<string name="new_badge_award_notif">Sie haben eine neue Auszeichnung erhalten</string>
<string name="award_granted_to">Auszeichnung verliehen an</string>
<string name="copied_note_text_to_clipboard">Notiztext in die Zwischenablage kopiert</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Autor-ID in die Zwischenablage kopiert</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Notiz-ID in die Zwischenablage kopiert</string>
<string name="select_text_dialog_top">Text auswählen</string>
<string name="private_conversation_notification">"&lt;Private Nachricht kann nicht entschlüsselt werden&gt;\n\nSie wurden in einer privaten/verschlüsselten Unterhaltung zwischen %1$s und %2$s erwähnt."</string>
<string name="account_switch_add_account_dialog_title">Neues Konto hinzufügen</string>
<string name="drawer_accounts">Konten</string>
<string name="account_switch_select_account">Konto auswählen</string>
<string name="account_switch_add_account_btn">Neues Konto hinzufügen</string>
<string name="account_switch_active_account">Aktives Konto</string>
<string name="account_switch_has_private_key">Verfügt über privaten Schlüssel</string>
<string name="account_switch_pubkey_only">Nur öffentlicher Schlüssel, kein privater Schlüssel</string>
<string name="back">Zurück</string>
<string name="quick_action_select">Auswählen</string>
<string name="quick_action_share_browser_link">Browserlink teilen</string>
@@ -296,14 +250,12 @@ anz der Bedingungen ist erforderlich</string>
<string name="quick_action_delete_dialog_btn">Löschen</string>
<string name="quick_action_block">Blockieren</string>
<string name="quick_action_report">Melden</string>
<string name="quick_action_delete_button">Löschen</string>
<string name="quick_action_dont_show_again_button">Nicht erneut anzeigen</string>
<string name="report_dialog_spam">Spam oder Betrug</string>
<string name="report_dialog_profanity">Beleidigungen oder hasserfülltes Verhalten</string>
<string name="report_dialog_impersonation">Bösartige Nachahmung</string>
<string name="report_dialog_nudity">Nacktheit oder explizite Inhalte</string>
<string name="report_dialog_illegal">Illegales Verhalten</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">Durch das Blockieren eines Benutzers werden deren Inhalte in Ihrer App ausgeblendet. Ihre Notizen sind weiterhin öffentlich sichtbar, auch für Personen, die Sie blockiert haben. Blockierte Benutzer werden auf dem Bildschirm \"Sicherheitsfilter\" aufgelistet.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Benutzer
@@ -325,30 +277,15 @@ anz der Bedingungen ist erforderlich</string>
<string name="add_to_public_bookmarks">Zu den öffentlichen Lesezeichen hinzufügen</string>
<string name="remove_from_private_bookmarks">Aus den privaten Lesezeichen entfernen</string>
<string name="remove_from_public_bookmarks">Aus den öffentlichen Lesezeichen entfernen</string>
<string name="wallet_connect_service">Wallet-Verbindungsdienst</string>
<string name="wallet_connect_service_explainer">Autorisiert einen Nostr Secret, Zaps ohne Verlassen der App zu bezahlen. Bewahren Sie den geheimen Schlüssel sicher auf und verwenden Sie nach Möglichkeit ein privates Relay</string>
<string name="wallet_connect_service_pubkey">Wallet Connect Public Key</string>
<string name="wallet_connect_service_relay">Wallet-Verbindungs-Relay</string>
<string name="wallet_connect_service_secret">Wallet-Verbindungs-Geheimnis</string>
<string name="wallet_connect_service_show_secret">Geheimen Schlüssel anzeigen</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hexadezimaler privater Schlüssel</string>
<string name="pledge_amount_in_sats">Spendenbetrag in Sats</string>
<string name="post_poll">Umfrage veröffentlichen</string>
<string name="poll_heading_required">Erforderliche Felder:</string>
<string name="poll_zap_recipients">Zap-Empfänger</string>
<string name="poll_primary_description">Hauptbeschreibung der Umfrage…</string>
<string name="poll_option_index">Wahl %s</string>
<string name="poll_option_description">Beschreibung der Umfrageoption</string>
<string name="poll_heading_optional">Optionale Felder:</string>
<string name="poll_zap_value_min">Mindest-Zap-Betrag</string>
<string name="poll_zap_value_max">Maximaler Zap-Betrag</string>
<string name="poll_consensus_threshold">Konsens</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Schließen nach</string>
<string name="poll_closing_time_days">Tagen</string>
<string name="poll_unable_to_vote">Konnte nicht abstimmen</string>
<string name="poll_is_closed_explainer">Die Umfrage ist für neue Stimmen geschlossen</string>
<string name="poll_zap_amount">Zap-Betrag</string>
<string name="one_vote_per_user_on_atomic_votes">Es ist nur eine Stimme pro Benutzer für diesen Umfragetyp erlaubt</string>
<string name="looking_for_event">"Veranstaltung suchen %1$s"</string>
<string name="custom_zaps_add_a_message">Füge eine öffentliche Nachricht hinzu</string>
@@ -382,12 +319,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="zap_type_nonzap_explainer">Keine Spur in Nostr, nur in Lightning</string>
<string name="file_server">Dateiserver</string>
<string name="file_server_description">Wählen Sie einen Server zum Hochladen dieser Datei</string>
<string name="zap_forward_lnAddress">LnAddress oder @Benutzer</string>
<string name="media_servers">Medienserver</string>
<string name="set_preferred_media_servers">Legen Sie Ihre bevorzugten Medienupload Server fest.</string>
<string name="no_nip96_server_message">Du hast keine NIP-96-Server gesetzt. Du kannst die Amethyst-Liste verwenden oder unten einen hinzufügen ↓</string>
<string name="no_blossom_server_message">Du hast keine Blossom Server gesetzt. Du kannst die Amethyst-Liste verwenden oder unten einen hinzufügen ↓</string>
<string name="built_in_media_servers_title">Integrierte Medienserver</string>
<string name="built_in_servers_description">Amethysts Standardliste. Sie können sie einzeln hinzufügen oder die Liste hinzufügen.</string>
<string name="use_default_servers">Standardliste verwenden</string>
<string name="add_media_server">Medienserver hinzufügen</string>
@@ -400,30 +334,16 @@ anz der Bedingungen ist erforderlich</string>
<string name="uploading_state_hashing">Hashen</string>
<string name="uploading_state_finished">Fertig</string>
<string name="uploading_state_error">Fehler</string>
<string name="upload_server_relays_nip95">Deine Relays (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Dateien werden von deinen Relays gehostet. Neuer NIP: Überprüfe, ob sie unterstützt werden</string>
<string name="privacy_options">Privatsphäre-Optionen</string>
<string name="connect_via_tor_short">Tor/Orbot-Einrichtung</string>
<string name="connect_via_tor">Verbindung über deine Orbot-Einrichtung herstellen</string>
<string name="connect_via_tor1">Anpassen</string>
<string name="connect_via_tor2">Tor-Einstellungen</string>
<string name="do_you_really_want_to_disable_tor_title">Von deiner Orbot/Tor trennen?</string>
<string name="do_you_really_want_to_disable_tor_text">Deine Daten werden sofort im regulären Netzwerk übertragen</string>
<string name="yes">Ja</string>
<string name="no">Nein</string>
<string name="follow_list_selection">Folgen-Liste</string>
<string name="follow_list_kind3follows">Alle Folgen</string>
<string name="follow_list_aroundme">In der Nähe</string>
<string name="follow_list_global">Weltweit</string>
<string name="follow_list_mute_list">Stummliste</string>
<string name="connect_through_your_orbot_setup_short">Standard-Port ist 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Über Tor mit Orbot verbinden
\n\n1. Installiere [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Starte Orbot
\n3. Überprüfe in Orbot den Socks-Port. Standardmäßig wird der Port 9050 verwendet
\n4. Ändere gegebenenfalls den Port in Orbot
\n5. Konfiguriere den Socks-Port in diesem Bildschirm
\n6. Drücke die Aktivieren-Schaltfläche, um Orbot als Proxy zu verwenden</string>
<string name="orbot_socks_port">Orbot Socks-Port</string>
<string name="use_internal_tor">Aktiver Tor-Engine</string>
<string name="use_internal_tor_explainer">Verwenden Sie die interne Version oder Orbot</string>
@@ -465,8 +385,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="tor_full_privacy_explainer">Verbergen Sie Ihre IP bei allen Verbindungen</string>
<string name="tor_custom_explainer">Erstellen Sie Ihre eigenen</string>
<string name="invalid_port_number">Ungültige Portnummer</string>
<string name="use_orbot">Orbot verwenden</string>
<string name="disconnect_from_your_orbot_setup">Tor/Orbot trennen</string>
<string name="app_notification_dms_channel_name">Private Nachrichten</string>
<string name="app_notification_dms_channel_description">Benachrichtigt dich, wenn eine private Nachricht eingeht</string>
<string name="app_notification_zaps_channel_name">Erhaltene Zaps</string>
@@ -475,20 +393,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="app_notification_zaps_channel_message_from">Von %1$s</string>
<string name="app_notification_zaps_channel_message_for">für %1$s</string>
<string name="reply_notify">Benachrichtigen: </string>
<string name="channel_list_join_conversation">Unterhaltung beitreten</string>
<string name="channel_list_user_or_group_id">Benutzer- oder Gruppen-ID</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent oder hex</string>
<string name="channel_list_create_channel">Erstellen</string>
<string name="channel_list_join_channel">Beitreten</string>
<string name="today">Heute</string>
<string name="content_warning">Inhaltswarnung</string>
<string name="content_warning_explanation">Dieser Beitrag enthält sensiblen Inhalt, den einige Personen als beleidigend oder verstörend empfinden könnten</string>
<string name="content_warning_hide_all_sensitive_content">Sensiblen Inhalt immer ausblenden</string>
<string name="content_warning_show_all_sensitive_content">Sensiblen Inhalt immer anzeigen</string>
<string name="content_warning_see_warnings">Immer Inhaltswarnungen anzeigen</string>
<string name="recommended_apps">Empfohlene Apps: </string>
<string name="filter_spam_from_strangers">Spam von Fremden filtern</string>
<string name="warn_when_posts_have_reports_from_your_follows">Warnung bei Meldungen von deinen Abonnements</string>
<string name="new_reaction_symbol">Neues Reaktionssymbol</string>
<string name="no_reaction_type_setup_long_press_to_change">Keine Reaktionstypen ausgewählt. Lange drücken, um zu ändern</string>
<string name="zapraiser">Zap-Sammlung</string>
@@ -499,37 +406,24 @@ anz der Bedingungen ist erforderlich</string>
<string name="write_to_relay">In Relay schreiben</string>
<string name="write_to_relay_description">Die Menge in Bytes, die an dieses Relais gesendet wurde, einschließlich Filter und Ereignisse</string>
<string name="read_from_relay_description">Die Menge in Bytes, die von diesem Relais empfangen wurde, einschließlich Filter und Ereignisse</string>
<string name="an_error_occurred_trying_to_get_relay_information">Ein Fehler ist beim Abrufen von Relay-Informationen von %1$s aufgetreten</string>
<string name="owner">Inhaber</string>
<string name="version">Version</string>
<string name="software">Programme</string>
<string name="contact">Kontakt</string>
<string name="supports">Unterstützte NIPs</string>
<string name="admission_fees">Eintrittsgebühren</string>
<string name="payments_url">Zahlungs-URL</string>
<string name="limitations">Einschränkungen</string>
<string name="countries">Länder</string>
<string name="languages">Sprachen</string>
<string name="tags">Tags</string>
<string name="posting_policy">Veröffentlichungsrichtlinie</string>
<string name="relay_error_messages">Fehler und Hinweise von diesem Relais</string>
<string name="message_length">Nachrichtenlänge</string>
<string name="subscriptions">Abonnements</string>
<string name="filters">Filter</string>
<string name="subscription_id_length">Länge der Abonnement-ID</string>
<string name="minimum_prefix">Mindestpräfix</string>
<string name="maximum_event_tags">Maximale Anzahl von Ereignis-Tags</string>
<string name="content_length">Inhaltslänge</string>
<string name="minimum_pow">Mindest-PoW</string>
<string name="auth">Authentifizierung</string>
<string name="payment">Zahlung</string>
<string name="cashu">Cashu-Token</string>
<string name="cashu_redeem">Einlösen</string>
<string name="cashu_redeem_to_zap">An Zap Wallet senden</string>
<string name="cashu_redeem_to_cashu">In Cashu Wallet öffnen</string>
<string name="cashu_copy_token">Token kopieren</string>
<string name="no_lightning_address_set">Keine Lightning-Adresse festgelegt</string>
<string name="copied_token_to_clipboard">Token in die Zwischenablage kopiert</string>
<string name="live_stream_live_tag">LIVE</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">BEENDET</string>
@@ -549,7 +443,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="preferences">App Einstellungen</string>
<string name="settings">Einstellungen</string>
<string name="connectivity_type_always">Immer</string>
<string name="connectivity_type_wifi_only">Nur WLAN</string>
<string name="connectivity_type_unmetered_wifi_only">Unbegrenztes WLAN</string>
<string name="connectivity_type_never">Nie</string>
<string name="ui_feature_set_type_complete">Fertig</string>
@@ -573,7 +466,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="ui_style_description">Wählen Sie den Beitragsstil</string>
<string name="gallery_style">Profilgalerie-Stil</string>
<string name="gallery_style_description">Galeriestil auswählen</string>
<string name="load_image">Bild laden</string>
<string name="spamming_users">Spammer</string>
<string name="muted_button">Stummgeschaltet. Drücken, um Ton einzuschalten</string>
<string name="mute_button">Ton ein. Zur Stummschaltung drücken</string>
@@ -581,12 +473,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="nip05_verified">Nostr-Adresse verifiziert</string>
<string name="nip05_failed">Nostr-Adresse konnte nicht verifiziert werden</string>
<string name="nip05_checking">Nostr-Adresse wird überprüft</string>
<string name="select_deselect_all">Alle auswählen/abwählen</string>
<string name="default_relays">Standard</string>
<string name="default_relays_longer">Auf Standardeinstellung zurücksetzen</string>
<string name="select_a_relay_to_continue">Wählen Sie ein Relais aus, um fortzufahren</string>
<string name="zap_forward_title">Weiterleiten von Zaps an:</string>
<string name="zap_forward_explainer">Unterstützende Clients leiten Zaps an die LNAddress oder das Benutzerprofil unten weiter, anstatt an Ihre eigene Adresse</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_exclusive">Standort-exklusiver Beitrag</string>
@@ -594,9 +482,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="loading_location">Standort wird geladen</string>
<string name="lack_location_permissions">Keine Standortberechtigungen</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_nip17_might_not_be_available_title">Neues Feature</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_nip17_activate">Aktivieren</string>
<string name="messages_create_public_chat">Öffentlich</string>
<string name="messages_create_public_private_chat_description">Neue öffentliche oder private Gruppe</string>
<string name="messages_new_message">Privat</string>
@@ -613,7 +498,6 @@ anz der Bedingungen ist erforderlich</string>
<string name="automatically_load_images_gifs_description">Bilder und GIFs automatisch laden</string>
<string name="automatically_play_videos_description">Videos und GIFs automatisch abspielen</string>
<string name="automatically_show_url_preview_description">URL-Vorschauen anzeigen</string>
<string name="load_image_description">Wann Bilder geladen werden sollen</string>
<string name="copy_stack_to_clipboard">Stapel kopieren</string>
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
<string name="copy_npub_to_clipboard">Npub in Zwischenablage kopieren</string>
@@ -624,45 +508,23 @@ anz der Bedingungen ist erforderlich</string>
<string name="media_added">Medien hinzugefügt</string>
<string name="media_added_to_profile_gallery">Medien wurden zu Ihrer Profilgalerie hinzugefügt</string>
<string name="created_at">Erstellt am</string>
<string name="rules">Regeln</string>
<string name="login_with_external_signer">Mit Amber anmelden</string>
<string name="status_update">Status aktualisieren</string>
<string name="lightning_wallets_not_found">Fehler beim Verarbeiten der Fehlermeldung</string>
<string name="poll_zap_value_min_max_explainer">Die Abstimmungen werden nach der Höhe des Zaps gewichtet. Sie können einen Mindestbetrag festlegen, um Spam zu verhindern, und einen Höchstbetrag, um zu verhindern, dass große Zapper die Abstimmung dominieren. Verwenden Sie denselben Betrag in beiden Feldern, um sicherzustellen, dass jeder Stimme der gleiche Wert zukommt. Lassen Sie es leer, um jeden Betrag zu akzeptieren.</string>
<string name="error_dialog_zap_error">Zap konnte nicht gesendet werden</string>
<string name="error_dialog_talk_to_user">Mit dem Benutzer kommunizieren</string>
<string name="error_dialog_talk_to_user_name">Nachricht %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Konnte %1$s nicht erreichen: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Fehler beim Zusammenstellen der NIP-11-URL für %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Konnte %1$s nicht erreichen: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Fehler beim Analysieren der Antwort von %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">Relais abgelehnt Nachfragen %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Konnte %1$s nicht erreichen: %2$s</string>
<string name="relay_information_document_error_parse_result">Konnte das Ergebnis von %1$s nicht verarbeiten: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s fehlgeschlagen mit Code %2$s</string>
<string name="active_for">Aktiv für: </string>
<string name="active_for_home">Startseite</string>
<string name="active_for_msg">Nachrichten</string>
<string name="active_for_chats">Plaudern</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Suche</string>
<string name="zap_split_title">Zaps aufteilen und weiterleiten</string>
<string name="zap_split_explainer">Unterstützende Clients werden Zaps an die hier hinzugefügten Benutzer aufteilen und weiterleiten, anstatt an Sie</string>
<string name="zap_split_search_and_add_user">Benutzer suchen und hinzufügen</string>
<string name="zap_split_search_and_add_user_placeholder">Benutzername oder Anzeigename</string>
<string name="missing_lud16">Fehlende Lightning-Konfiguration</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Benutzer %1$s hat keine Lightning-Adresse eingerichtet, um Sats zu empfangen</string>
<string name="zap_split_weight">Prozent</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Zaps aufteilen mit</string>
<string name="forwarding_zaps_to">Zaps weiterleiten an</string>
<string name="lightning_wallets_not_found2">Lightning-Wallets nicht gefunden</string>
<string name="paid">Bezahlt</string>
<string name="wallet_number">Brieftasche %1$s</string>
<string name="error_opening_external_signer">Fehler beim Öffnen der Signatur-App</string>
<string name="error_opening_external_signer_description">Die Unterzeichner-App konnte nicht gefunden werden. Prüfen Sie, ob die App nicht deinstalliert wurde</string>
<string name="sign_request_rejected">Signaturanfrage abgelehnt</string>
<string name="sign_request_rejected_description">Stellen Sie sicher, dass die Unterzeichner-Anwendung diese Transaktion autorisiert hat</string>
<string name="no_wallet_found_with_error">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen (Fehler: %1$s). Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string>
<string name="no_wallet_found">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen. Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string>
@@ -673,36 +535,19 @@ anz der Bedingungen ist erforderlich</string>
<string name="select_an_option">Option auswählen</string>
<string name="error_dialog_pay_invoice_error">Konnte Rechnung nicht bezahlen</string>
<string name="error_dialog_pay_withdraw_error">Konnte nicht abheben</string>
<string name="error_parsing_nip47_title">Konnte Wallet Connect nicht einrichten</string>
<string name="error_parsing_nip47">Fehler beim Parsen der NIP-47-Verbindungszeichenfolge. Überprüfen Sie, ob diese korrekt ist, Ihr Wallet-Anbieter: %1$s. Fehler: %2$s</string>
<string name="error_parsing_nip47_no_error">Fehler beim Parsen der NIP-47-Verbindungszeichenfolge. Überprüfen Sie, ob diese korrekt ist, Ihr Wallet-Anbieter: %1$s.</string>
<string name="cashu_failed_redemption">Cashu konnte nicht eingelöst werden</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint hat folgende Fehlermeldung geliefert: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Cashu-Token bereits ausgegeben.</string>
<string name="cashu_successful_redemption">Cashu erhalten</string>
<string name="cashu_successful_redemption_explainer">%1$s Sats wurden an Ihre Wallet gesendet. (Gebühren: %2$s Sats)</string>
<string name="cashu_no_wallet_found">Keine kompatible Cashu-Brieftasche im System gefunden</string>
<string name="error_unable_to_fetch_invoice">Konnte Rechnung nicht vom Server des Empfängers abrufen</string>
<string name="wallet_connect_pay_invoice_error_error">Ihr Wallet-Connect-Anbieter hat folgenden Fehler zurückgegeben: %1$s</string>
<string name="could_not_connect_to_tor">Konnte keine Verbindung zu Tor herstellen</string>
<string name="unable_to_download_relay_document">Herunterladen des Relaisdokuments nicht verfügbar</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Konnte keine LNUrl aus der Lightning-Adresse \"%1$s\" zusammenstellen. Überprüfen Sie die Konfiguration des Benutzers</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Der Lightning-Service des Empfängers unter %1$s ist nicht verfügbar. Er wurde aus der Lightning-Adresse \"%2$s\" berechnet. Fehler: %3$s. Überprüfen Sie, ob der Server online ist und ob die Lightning-Adresse korrekt ist</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Konnte %1$s nicht auflösen. Überprüfen Sie, ob Sie verbunden sind, ob der Server online ist und ob die Lightning-Adresse %2$s korrekt ist</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Konnte %1$s nicht auflösen. Überprüfen Sie, ob Sie verbunden sind, ob der Server online ist und ob die Lightning-Adresse %2$s korrekt ist.\n\nAusnahme war: %3$s</string>
<string name="could_not_fetch_invoice_from">Konnte Rechnung nicht von %1$s abholen</string>
<string name="could_not_fetch_invoice_from_details">Rechnung konnte nicht von %1$s abgerufen werden: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Fehler beim analysieren von JSON aus der Lightning-Adresse. Überprüfen Sie die Lightning-Konfiguration des Benutzers</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Fehler beim Parsen von JSON von %1$s. Überprüfen Sie die Blitzeinrichtung des Benutzers</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">Callback-URL nicht in der Serverkonfiguration der Lightning-Adresse des Benutzers gefunden</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">Callback-URL aus %1$s Antwort nicht gefunden</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Fehler beim Parsen von JSON aus der Rechnungsabruf der Lightning-Adresse. Überprüfen Sie die Lightning-Konfiguration des Benutzers</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Fehler beim Parsen von JSON von %1$s. Überprüfen Sie die Blitzeinrichtung des Benutzers</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Falscher Rechnungsbetrag (%1$s Sats) von %2$s. Er hätte %3$s sein sollen</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Konnte keine Lightning-Rechnung erstellen, bevor der Zap gesendet wurde. Die Lightning-Wallet des Empfängers hat folgenden Fehler gesendet: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Blitzrechnung konnte nicht erstellt werden. Nachricht von %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Konnte keine Lightning-Rechnung erstellen, bevor der Zap gesendet wurde. Element pr wurde nicht in der resultierenden JSON gefunden.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Kann keine Blitzrechnung von %1$s erstellen: Element pr nicht im resultierenden JSON gefunden.</string>
<string name="read_only_user">Nur-Lese-Benutzer</string>
<string name="no_reactions_setup">Keine Reaktionen eingerichtet</string>
<string name="select_push_server">Einen Push-Benachrichtigungsanbieter auswählen</string>
@@ -720,13 +565,11 @@ anz der Bedingungen ist erforderlich</string>
<string name="send_the_seller_a_message">Dem Verkäufer eine Nachricht senden</string>
<string name="hi_seller_is_this_still_available">Hallo %1$s, ist das noch verfügbar?</string>
<string name="hi_there_is_this_still_available">Hallo, ist das noch verfügbar?</string>
<string name="classifieds">Artikel verkaufen</string>
<string name="classifieds_title">Titel</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Zustand</string>
<string name="classifieds_category">Kategorie</string>
<string name="classifieds_price">Preis (in Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Ort</string>
<string name="classifieds_location_placeholder">Stadt, Staat, Land</string>
<string name="classifieds_condition_new">Neu</string>
@@ -755,20 +598,13 @@ anz der Bedingungen ist erforderlich</string>
<string name="classifieds_category_other">Sonstiges</string>
<string name="failed_to_upload_media_no_details">Fehler beim Laden der Medien</string>
<string name="could_not_open_the_compressed_file">Konnte die komprimierte Datei nicht öffnen</string>
<string name="error_when_compressing_media">Fehler beim komprimieren der Medien: %1$s</string>
<string name="failed_to_upload_media">Fehler beim Hochladen: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">Der Server hat nach dem Hochladen keine URL angegeben</string>
<string name="could_not_download_from_the_server">Hochgeladene Medien konnten nicht vom Server heruntergeladen werden</string>
<string name="could_not_check_downloaded_file">Die heruntergeladene Datei konnte nach dem Hochladen nicht überprüft werden: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">Lokale Datei konnte nicht zum Hochladen vorbereitet werden: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Konnte %1$s nicht erreichen: %2$s</string>
<string name="failed_to_upload_with_message">Upload fehlgeschlagen: %1$s</string>
<string name="failed_to_delete_with_message">Löschen fehlgeschlagen: %1$s</string>
<string name="media_too_big_for_nip95">Medien sind zu groß für NIP-95</string>
<string name="unable_to_load_thumbnail">Miniaturansicht kann nicht geladen werden</string>
<string name="could_not_prepare_header">Konnte Kopfzeileninformationen nicht vorbereiten: %1$s</string>
<string name="compression_cancelled">Komprimierung abgebrochen</string>
<string name="compression_returned_null">Komprimierung fehlgeschlagen eine Datei zurückzugeben</string>
<string name="media_compression_quality_label">Medienqualität</string>
<string name="media_compression_quality_explainer">Wählen Sie Niedrige Qualität, um Ihre Medien in eine kleinere Datei mit geringerer Qualität zu komprimieren, Hohe Qualität, um sie in eine größere Datei mit höherer Qualität zu komprimieren, oder \"Ohne Kompression\", um die Medien ohne Kompression hochzuladen.</string>
<string name="media_compression_quality_low">Niedrig</string>
@@ -777,15 +613,11 @@ anz der Bedingungen ist erforderlich</string>
<string name="media_compression_quality_uncompressed">Ohne Kompression</string>
<string name="edit_draft">Entwurf bearbeiten</string>
<string name="login_with_qr_code">Einloggen mit QR-Code</string>
<string name="route">Route</string>
<string name="route_home">Startseite</string>
<string name="route_search">Suche</string>
<string name="route_discover">Entdecken</string>
<string name="route_messages">Nachrichten</string>
<string name="route_notifications">Benachrichtigungen</string>
<string name="route_global">Global</string>
<string name="route_video">Kurzfilme</string>
<string name="route_security_filters">Sicherheitsfilter</string>
<string name="new_post">Neuer Beitrag</string>
<string name="new_short">Neue Kurzfilme: Bilder oder Videos</string>
<string name="new_community_note">Neue Community-Notiz</string>
@@ -800,29 +632,22 @@ anz der Bedingungen ist erforderlich</string>
<string name="relay_info">%1$s weiterleiten</string>
<string name="expand_relay_list">Rela-Liste erweitern</string>
<string name="note_options">Notizoptionen</string>
<string name="relay_list_selector">Rela-Listenauswahl</string>
<string name="poll">Umfrage</string>
<string name="disable_poll">Umfrage deaktivieren</string>
<string name="add_bitcoin_invoice">Bitcoin-Rechnung hinzufügen</string>
<string name="cancel_bitcoin_invoice">Bitcoin-Rechnung abbrechen</string>
<string name="cancel_classifieds">Verkauf eines Artikels abbrechen</string>
<string name="add_zapraiser">Zapraiser hinzufügen</string>
<string name="cancel_zapraiser">Zapraiser abbrechen</string>
<string name="add_location">Ort hinzufügen</string>
<string name="remove_location">Ort entfernen</string>
<string name="add_zap_split">Zap-Aufteilung hinzufügen</string>
<string name="cancel_zap_split">Zap-Aufteilung abbrechen</string>
<string name="add_content_warning">Inhaltswarnung hinzufügen</string>
<string name="remove_content_warning">Inhaltswarnung entfernen</string>
<string name="show_npub_as_a_qr_code">Npub als QR-Code anzeigen</string>
<string name="invalid_nip19_uri">Ungültige Adresse</string>
<string name="invalid_nip19_uri_description">Amethyst hat eine URI zum Öffnen erhalten, aber diese URI war ungültig: %1$s</string>
<string name="dm_relays_title">DM Posteingangs-Relais</string>
<string name="dm_relays_through">Relais: %1$s</string>
<string name="dm_relays_regular">Verwendung regulärer Relais</string>
<string name="dm_relays_not_found">Richten Sie Ihre privaten Posteingangs-Relais ein</string>
<string name="dm_relays_not_found_description">Diese Einstellung lässt alle wissen, welche Relais verwendet werden sollen, wenn sie Nachrichten an Sie senden. Ohne diese könnten Sie einige Nachrichten verpassen.</string>
<string name="dm_relays_not_found_examples">Gute Optionen sind:\n - inbox.nostr.wine (bezahlt)\n - you.nostr1.com (persönliche Relais - bezahlt)</string>
<string name="dm_relays_not_found_examples2">Gute Optionen sind:\n - auth.nostr1.com (gratis)\n - inbox.nostr.wine (bezahlt)\n - relay.0xchat.com (gratis)</string>
<string name="dm_relays_not_found_editing">Fügen Sie 1–3 Relais ein, die als Ihr privater Posteingang dienen sollen. DM Posteingangs-Relais sollten Nachrichten von jedem akzeptieren, aber nur Ihnen erlauben, sie herunterzuladen.</string>
<string name="dm_relays_not_found_create_now">Jetzt einrichten</string>
@@ -831,7 +656,6 @@ 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="dm_upload">DM-Upload</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>
@@ -841,10 +665,6 @@ anz der Bedingungen ist erforderlich</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="kind_3_recommended_section">Empfohlene Relais</string>
<string name="kind_3_recommended_section_description">Fügen Sie die folgenden Relais zu Ihrer Liste hinzu, um Beiträge von den aufgelisteten Benutzern zu erhalten.</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>
@@ -856,11 +676,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="this_version_brought_to_you_by">Diese Version wurde Ihnen präsentiert von:</string>
<string name="version_name">Version %1$s</string>
<string name="thank_you">Vielen Dank!</string>
<string name="max_limit">Maximallimit</string>
<string name="restricted_writes">Eingeschränkte Schriften</string>
<string name="forked_from">Geforkt von</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Git Repository: %1$s</string>
<string name="git_web_address">Internet:</string>
<string name="git_clone_address">Klonen:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -868,20 +685,13 @@ anz der Bedingungen ist erforderlich</string>
<string name="ots_info_description">Es gibt einen Beweis, dass dieser Beitrag irgendwann vor %1$s signiert wurde. Der Beweis wurde zu diesem Datum und Uhrzeit in der Bitcoin-Blockchain gestempelt.</string>
<string name="edit_post">Beitrag bearbeiten</string>
<string name="proposal_to_edit">Vorschlag zur Verbesserung Ihres Beitrags</string>
<string name="message_to_author">Zusammenfassung der Änderungen</string>
<string name="message_to_author_placeholder">Schnelle Korrekturen…</string>
<string name="accept_the_suggestion">Den Vorschlag annehmen</string>
<string name="enter_picture_in_picture">Video in einem Pop-Up starten</string>
<string name="accessibility_download_for_offline">Herunterladen</string>
<string name="accessibility_lyrics_on">Liedtext an</string>
<string name="accessibility_lyrics_off">Liedtext aus</string>
<string name="accessibility_turn_on_sealed_message">Versiegelte Nachricht aus. Klicken Sie, um die versiegelte Nachricht einzuschalten</string>
<string name="accessibility_turn_off_sealed_message">Versiegelte Nachricht an. Klicken Sie, um die versiegelte Nachricht auszuschalten</string>
<string name="accessibility_send">Senden</string>
<string name="accessibility_play_username">Benutzernamen als Audio abspielen</string>
<string name="accessibility_pushpin">Reißzwecke</string>
<string name="accessibility_scan_qr_code">QR-Code scannen</string>
<string name="accessibility_navigate_to_alby">Navigieren Sie zum Drittanbieter-Wallet-Anbieter Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">Es ist nicht möglich, auf einen Entwurf zu antworten</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">Es ist nicht möglich, einen Entwurf zu zitieren</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">Es ist nicht möglich, auf einen Entwurf zu reagieren</string>
@@ -922,15 +732,12 @@ anz der Bedingungen ist erforderlich</string>
<string name="http_status_507">Unzureichender Speicher - Der Server hat nicht genug Speicher, um die Anfrage erfolgreich zu verarbeiten</string>
<string name="http_status_508">Schleife erkannt - Der Server erkennt eine Endlosschleife, während er die Anfrage bearbeitet</string>
<string name="http_status_511">Netzwerk-Authentifizierung erforderlich - Der Client muss authentifiziert werden, um auf das Netzwerk zuzugreifen</string>
<string name="media_servers_nip96_section">NIP-96 Server</string>
<string name="media_servers_nip96_explainer">Fügen Sie beliebig viele Server hinzu. Sie können wählen, welche später beim Hochladen Ihres Bildes verwendet werden soll</string>
<string name="media_servers_blossom_section">Blossom Server</string>
<string name="media_servers_blossom_explainer">Fügen Sie beliebig viele Server hinzu. Sie können wählen, welche später beim Hochladen Ihres Bildes verwendet werden soll</string>
<string name="add_a_nip96_server">NIP-96 Server hinzufügen</string>
<string name="add_a_blossom_server">Blossom Server hinzufügen</string>
<string name="delete_all">Alles löschen</string>
<string name="delete_all_drafts_confirmation">Möchten Sie wirklich alle Entwürfe löschen?</string>
<string name="stack">Stapel:</string>
<string name="torrent_file">Torrentdatei</string>
<string name="torrent_download">Herunterladen</string>
<string name="torrent_failure">Fehler beim Öffnen der Datei</string>
@@ -938,23 +745,19 @@ anz der Bedingungen ist erforderlich</string>
<string name="select_list_to_filter">Liste zum Filtern des Feeds auswählen</string>
<string name="temporary_account">Beim Sperren des Geräts abmelden</string>
<string name="share_image">Bild teilen…</string>
<string name="login_with_a_private_key_to_be_able_to_change_settings">Du verwendest einen öffentlichen Schlüssel, der nur lesbar ist. Melde dich mit einem privaten Schlüssel an, um Einstellungen ändern zu können</string>
<string name="login_with_a_private_key_to_be_able_to_upload">Du verwendest einen öffentlichen Schlüssel, der nur lesbar ist. Melde dich mit einem privaten Schlüssel an, um hochladen zu können</string>
<string name="login_with_a_private_key_to_be_able_to_sign_events">Du verwendest einen öffentlichen Schlüssel, der nur lesbar ist. Melde dich mit einem privaten Schlüssel an, um Ereignisse zu signieren</string>
<string name="unauthorized_exception">Unbefugte Entschlüsselung</string>
<string name="unauthorized_exception_description">Der Signierer hat die erforderliche Entschlüsselung nicht autorisiert. Aktiviere NIP-44-Entschlüsselung in deiner Signierer-App und versuche es erneut</string>
<string name="signer_not_found_exception">Signierer nicht gefunden</string>
<string name="signer_not_found_exception_description">Wurde die Signierer-App deinstalliert? Überprüfe, ob sie installiert ist und dieses Konto enthält. Melde dich ab und wieder an, falls sich die App geändert hat.</string>
<string name="no_description">Keine Beschreibung gefunden</string>
<string name="take_a_picture">Ein Foto aufnehmen</string>
<string name="record_a_video">Video aufnehmen</string>
<string name="record_a_message">Eine Nachricht aufnehmen</string>
<string name="record_a_message_title">Eine Nachricht aufnehmen</string>
<string name="record_a_message_description">Zum Aufnehmen einer Nachricht gedrückt halten</string>
<string name="paid_relay">Bezahltes Relay</string>
<string name="tor_relay">Tor-Verbindung erzwingen</string>
<string name="badge_award_image">Auszeichnungsbild</string>
<string name="follow_list_kind3follows_proxy">Folgt über Proxy</string>
<string name="sign_request_rejected2">Signaturanfrage abgelehnt</string>
<string name="connected_section">Verbundene Relays</string>
<string name="connected_section_description">Aktuelle Liste der verwendeten Relays</string>
@@ -979,36 +782,19 @@ anz der Bedingungen ist erforderlich</string>
<string name="feed_filter_select_an_option">Feed-Filter, %1$s</string>
<string name="feed">Feed</string>
<string name="mod_queue">Moderationswarteschlange</string>
<string name="invalid_nip47_uri_title">Ungültige NIP-47 URI</string>
<string name="invalid_nip47_uri_description">Die URI %1$s ist keine gültige NIP-47 Anmelde-URI.</string>
<string name="public_home_section_explainer_profile">Der Benutzer veröffentlicht seine Inhalte auf diesen Relays</string>
<string name="public_notif_section_explainer_profile">Der Benutzer erhält Benachrichtigungen auf diesen Relays</string>
<string name="private_inbox_section_explainer_profile">Der Benutzer empfängt Direktnachrichten auf diesen Relays</string>
<string name="this_message_will_disappear_in_days">Diese Nachricht verschwindet in %1$d Tagen</string>
<string name="crashreport_found">Absturzbericht gefunden</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Möchten Sie den letzten Absturzbericht per Direktnachricht an Amethyst senden? Es werden keine persönlichen Daten weitergegeben</string>
<string name="crashreport_found_send">Senden</string>
<string name="community_description">Über uns</string>
<string name="guidelines">Richtlinien</string>
<string name="moderators">Moderatoren</string>
<string name="open_dropdown_menu">Dropdown-Menü öffnen</string>
<string name="follow_sets">Folge-Sets</string>
<string name="labeled_bookmarks">Markierte Lesezeichen</string>
<string name="general_bookmarks">Allgemeine Lesezeichen</string>
<string name="follow_set_type_public">Öffentlich</string>
<string name="follow_set_type_private">Privat</string>
<string name="follow_set_type_mixed">Gemischt</string>
<string name="follow_set_empty_feed_msg">Es scheint, dass du noch keine Folge-Sets hast.\nTippe unten zum Aktualisieren oder verwende die Plus-Taste, um ein neues zu erstellen.</string>
<string name="follow_set_add_author_from_note_action">Autor zum Folge-Set hinzufügen</string>
<string name="follow_set_profile_actions_menu_description">Benutzer zu Listen hinzufügen oder entfernen, oder eine neue Liste mit diesem Benutzer erstellen.</string>
<string name="follow_set_icon_description">Symbol für Liste</string>
<string name="follow_set_absence_indicator">%1$s ist nicht in dieser Liste</string>
<string name="follow_set_man_dialog_title">Deine Folge-Sets</string>
<string name="follow_set_empty_dialog_msg">Keine Folge-Sets gefunden oder du hast keine. Tippe unten zum Aktualisieren oder verwende das Menü, um eines zu erstellen.</string>
<string name="follow_set_error_dialog_msg">Beim Abrufen ist ein Problem aufgetreten: %1$s</string>
<string name="follow_set_creation_menu_title">Neue Liste erstellen</string>
<string name="follow_set_creation_item_label">Neue %1$s-Liste mit Benutzer erstellen</string>
<string name="follow_set_creation_item_description">Erstellt ein %1$s-Folge-Set und fügt %2$s hinzu.</string>
<string name="follow_set_creation_dialog_title">Neue Folgen-Liste</string>
<string name="follow_set_creation_name_label">Set-Name</string>
<string name="follow_set_creation_desc_label">Set-Beschreibung (optional)</string>
@@ -1018,8 +804,12 @@ anz der Bedingungen ist erforderlich</string>
<string name="follow_set_rename_dialog_indicator_second_part"> zu..</string>
<string name="rename">Umbenennen</string>
<string name="torrent_no_info">Das Ereignis enthält nicht genügend Informationen, um einen Magnetlink zu erstellen</string>
<string name="my_lists_and_sets">Meine Listen/Sets</string>
<string name="select_signer">Signierer auswählen</string>
<string name="video_codec_h265_label">H.265/HEVC-Codec verwenden</string>
<string name="video_codec_h265_description">Bessere Qualität bei kleinerer Dateigröße, aber nicht alle Geräte unterstützen die H.265-Wiedergabe.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Der Lightning-Service des Empfängers unter %1$s ist nicht verfügbar. Er wurde aus der Lightning-Adresse \"%2$s\" berechnet. Fehler: %3$s. Überprüfen Sie, ob der Server online ist und ob die Lightning-Adresse korrekt ist</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Konnte %1$s nicht auflösen. Überprüfen Sie, ob Sie verbunden sind, ob der Server online ist und ob die Lightning-Adresse %2$s korrekt ist.\n\nAusnahme war: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Fehler beim Parsen von JSON von %1$s. Überprüfen Sie die Blitzeinrichtung des Benutzers</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Blitzrechnung konnte nicht erstellt werden. Nachricht von %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Kann keine Blitzrechnung von %1$s erstellen: Element pr nicht im resultierenden JSON gefunden.</string>
</resources>
+2 -135
View File
@@ -15,8 +15,6 @@
<string name="spam">Ανεπιθύμητο</string>
<string name="impersonation">Πλαστοπροσωπία</string>
<string name="illegal_behavior">Παράνομη Συμπεριφορά</string>
<string name="unknown">Άγνωστο</string>
<string name="relay_icon">Εικονίδιο Διαμοιραστή</string>
<string name="unknown_author">Άγνωστος Συντάκτης</string>
<string name="copy_text">Αντιγραφή Κειμένου</string>
<string name="copy_user_pubkey">Αντιγραφή ID Συντάκτη</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[Αποκλεισμός & Απόκρυψη Χρήστη]]></string>
<string name="report_spam_scam">Αναφορά Ανεπιθύμητου / Απάτης</string>
<string name="report_impersonation">Αναφορά Πλαστοπροσωπίας</string>
<string name="report_explicit_content">Αναφορά Διευκρίνησης Περιεχομένου</string>
<string name="report_illegal_behaviour">Αναφορά Παράνομης Συμπεριφοράς</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Συνδεθείτε με το \"Μυστικό Κλειδί\" σας για να απαντάτε σε δημοσιεύσεις</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Συνδεθείτε με το \"Μυστικό Κλειδί\" σας για να προωθείτε δημοσιεύσεις</string>
@@ -38,7 +35,6 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Συνδεθείτε με το \"Μυστικό Κλειδί\" σας για να σταματήσετε να ακολουθείτε κάποιον</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Συνδεθείτε με το \"Μυστικό Κλειδί\" σας ώστε να μπορείτε να αποκλείετε ανεπιθύμητες λέξεις ή φράσεις</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Συνδεθείτε με το \"Μυστικό Κλειδί\" σας ώστε να μπορείτε να αναζητάτε συγκεκριμένες λέξεις ή φράσεις</string>
<string name="view_count">Προβολή μετρήσεων</string>
<string name="boost">Προώθηση</string>
<string name="boosted">προωθημένο</string>
<string name="quote">Παράθεση</string>
@@ -46,9 +42,7 @@
<string name="add">Προσθήκη</string>
<string name="replying_to">"απάντηση σε "</string>
<string name="and">" και "</string>
<string name="in_channel">"στο κανάλι "</string>
<string name="profile_banner">Ταπετσαρία Προφίλ</string>
<string name="payment_successful">Επιτυχής Πληρωμή</string>
<string name="error_parsing_error_message">Σφάλμα ανάλυσης σφάλμα μηνύματος</string>
<string name="following">" Ακολουθείτε"</string>
<string name="followers">" Ακόλουθοι"</string>
@@ -63,9 +57,7 @@
<string name="thank_you_so_much">Σας ευχαριστώ πολύ!</string>
<string name="amount_in_sats">Ποσό σε Sats</string>
<string name="send_sats">Αποστολή Sats</string>
<string name="error_parsing_preview_for">"Σφάλμα ανάλυσης προεπισκόπησης για %1$s : %2$s"</string>
<string name="preview_card_image_for">"Προεπισκόπηση Κάρτα Εικόνας για %1$s"</string>
<string name="new_channel">Νέο Κανάλι</string>
<string name="channel_name">Όνομα Καναλιού</string>
<string name="my_awesome_group">Η υπέροχη Ομάδα μου</string>
<string name="picture_url">Διεύθυνση Εικόνας Url</string>
@@ -76,34 +68,20 @@
<string name="save">Αποθήκευση</string>
<string name="create">Δημιουργία</string>
<string name="cancel">Ακύρωση</string>
<string name="failed_to_upload_the_image">Αποτυχία μεταφόρτωσης εικόνας</string>
<string name="relay_address">Διεύθυνση Διαμοιραστή</string>
<string name="posts">Δημοσιεύσεις</string>
<string name="errors">Σφάλματα</string>
<string name="home_feed">Ροή Αρχικής Σελίδας</string>
<string name="private_message_feed">Ροή Προσωπικών Μηνυμάτων</string>
<string name="public_chat_feed">Ροή Δημόσιας Συζήτησης</string>
<string name="global_feed">Παγκόσμια Ροή</string>
<string name="search_feed">Ροή Αναζήτησης</string>
<string name="add_a_relay">Προσθήκη Διαμοιραστή</string>
<string name="display_name">Προβολή Ονόματος</string>
<string name="my_display_name">Το εμφανιζόμενο ονόμά μου</string>
<string name="username">Όνομα Χρήστη</string>
<string name="my_username">Το Όνομα Χρήστη μου</string>
<string name="about_me">Σχετικά με εμένα</string>
<string name="avatar_url">Διεύθυνση εικόνας Προφίλ URL</string>
<string name="banner_url">Διεύθυνση εικόνας Ταπετσαρίας URL</string>
<string name="website_url">Διεύθυνση Ιστοσελίδας URL</string>
<string name="ln_address">Διεύθυνση LN</string>
<string name="ln_url_outdated">Διεύθυνση LN (ξεπερασμένη)</string>
<string name="image_saved_to_the_gallery">Η εικόνα αποθηκεύτηκε στη συλλογή</string>
<string name="failed_to_save_the_image">Αποτυχία αποθήκευσης εικόνας</string>
<string name="upload_image">Μεταφόρτωση εικόνας</string>
<string name="uploading">Μεταφόρτωση…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Ο χρήστης δεν έχει ορίσει διεύθυνση LN για να λαμβάνει sats</string>
<string name="reply_here">"απαντήστε εδώ…"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Αντιγραφή του ID της δημοσίευσης στο πρόχειρο για κοινή χρήση στο Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Αντιγραφή του ID του Καναλιού (της δημοσίευσης) στο πρόχειρο</string>
<string name="edits_the_channel_metadata">Επεξεργασία των Μεταδεδομένων των Καναλιού</string>
<string name="join">Εγγραφή</string>
<string name="known">Γνωστό</string>
@@ -113,16 +91,12 @@
<string name="conversations">Συζητήσεις</string>
<string name="notes">Δημοσιεύσεις</string>
<string name="replies">Απαντήσεις</string>
<string name="follows">"Άτομα που ακολουθώ"</string>
<string name="reports">"Αναφορές"</string>
<string name="more_options">Περισσότερες Επιλογές</string>
<string name="relays">" Διαμοιραστές"</string>
<string name="website">Ιστοσελίδα</string>
<string name="lightning_address">Διεύθυνση Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Αντιγράφει το \"Μυστικό Κλειδί\" σας (Nsec ID ή αλλιώς ο μυστικός κωδικός πρόσβασής σας) στο πρόχειρο για δημιουργία αντιγράφου ασφαλείας</string>
<string name="copy_private_key_to_the_clipboard">Αντιγραφή του \"Μυστικού Κλειδιού\" σας στο Πρόχειρο</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Αντιγράφει το \"Δημόσιο Κλειδί\" σας στο Πρόχειρο για κοινή χρήση</string>
<string name="copy_public_key_npub_to_the_clipboard">Αντιγραφή του \"Δημόσιου Κλειδιού\" σας (NPub) στο Πρόχειρο</string>
<string name="send_a_direct_message">Αποστολή Άμεσου Μηνύματος</string>
<string name="edits_the_user_s_metadata">Επεξεργασία των Μεταδεδομένων του Χρήστη</string>
<string name="follow">Σας ακολουθεί</string>
@@ -142,7 +116,6 @@
<string name="acceptance_of_terms_is_required">Απαιτείται αποδοχή των όρων</string>
<string name="key_is_required">Απαιτείται Κλειδί</string>
<string name="login">Σύνδεση</string>
<string name="generate_a_new_key">Δημιουργία νέου κλειδιού</string>
<string name="loading_feed">Φόρτωση ροής</string>
<string name="loading_account">Φόρτωση λογαριασμού</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
@@ -151,12 +124,6 @@
<string name="try_again">Προσπαθήστε ξανά</string>
<string name="feed_is_empty">Η Ροή είναι κενή.</string>
<string name="refresh">Ανανέωση</string>
<string name="created">δημιουργήθηκε</string>
<string name="with_description_of">με περιγραφή του</string>
<string name="and_picture">και εικόνα</string>
<string name="changed_chat_name_to">αλλάξτε όνομα συνομιλίας σε</string>
<string name="description_to">περιγραφή σε</string>
<string name="and_picture_to">και εικόνα σε</string>
<string name="leave">Αποχώρηση</string>
<string name="unfollow">Να μην ακολουθώ</string>
<string name="channel_created">Το κανάλι δημιουργήθηκε</string>
@@ -177,7 +144,6 @@
<string name="profanity_hateful_speech">Ασέβεια / Ρητορική μίσους</string>
<string name="report_hateful_speech">Αναφορά Ρητορικής μίσους</string>
<string name="report_nudity_porn">Αναφορά Γυμνό / Πορνό</string>
<string name="others">άλλοι</string>
<string name="mark_all_known_as_read">Σήμανση όλων των γνωστοποιήσεων ως αναγνωσμένων</string>
<string name="mark_all_new_as_read">Σήμανση όλων των νέων δημοσιεύσεων ως αναγνωσμένων</string>
<string name="mark_all_as_read">Σήμανση όλων ως αναγνωσμένα</string>
@@ -187,23 +153,18 @@
<string name="biometric_authentication_failed">Αποτυχία ταυτοποίησης</string>
<string name="biometric_authentication_failed_explainer">Η βιομετρική ταυτοποίηση του ιδιοκτήτη αυτού του τηλεφώνου απέτυχε</string>
<string name="biometric_authentication_failed_explainer_with_error">Η βιομετρική ταυτοποίηση του ιδιοκτήτη αυτού του τηλεφώνου απέτυχε. Σφάλμα: %1$s</string>
<string name="biometric_error">Σφάλμα</string>
<string name="badge_created_by">"Δημιουργήθηκε από %1$s"</string>
<string name="badge_award_image_for">"Σήμα βράβευσης για %1$s"</string>
<string name="new_badge_award_notif">Λάβατε ένα νέο Σήμα Βράβευσης</string>
<string name="award_granted_to">Απονομή σήματος βράβευσης σε</string>
<string name="copied_note_text_to_clipboard">Το κείμενο της δημοσίευσης αποθηκεύτηκε στο πρόχειρο</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Το \"Δημόσιο Κλειδί\" του συντάκτη της δημοσίευσης αποθηκεύτηκε στο πρόχειρο</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Το ID της δημοσίευσης (@note1) αποθηκεύτηκε στο πρόχειρο</string>
<string name="select_text_dialog_top">Επιλογή Κειμένου</string>
<string name="private_conversation_notification">"&lt;Unable to decrypt private message&gt;\n\nΕιδοποίηση ιδιωτικής συνομιλίας μεταξύ %1$s και %2$s."</string>
<string name="account_switch_add_account_dialog_title">Προσθήκη Νέου Λογαριασμού</string>
<string name="drawer_accounts">Λογαριασμοί</string>
<string name="account_switch_select_account">Επιλογή Λογαριασμού</string>
<string name="account_switch_add_account_btn">Προσθήκη Νέου Λογαριασμού</string>
<string name="account_switch_active_account">Ενεργός λογαριασμός</string>
<string name="account_switch_has_private_key">Διαθέτει \"Μυστικό Κλειδί\"</string>
<string name="account_switch_pubkey_only">Μόνο για ανάγνωση, χωρίς \"Μυστικό Κλειδί\"</string>
<string name="back">Επιστροφή</string>
<string name="quick_action_select">Επιλογή</string>
<string name="quick_action_share_browser_link">Κοινοποίηση Συνδέσμου Περιηγητή</string>
@@ -220,7 +181,6 @@
<string name="quick_action_delete_dialog_btn">Διαγραφή</string>
<string name="quick_action_block">Αποκλεισμός</string>
<string name="quick_action_report">Αναφορά</string>
<string name="quick_action_delete_button">Διαγραφή</string>
<string name="quick_action_dont_show_again_button">Να μην εμφανιστεί ξανά</string>
<string name="report_dialog_spam">Ανεπιθύμητο ή απάτη</string>
<string name="report_dialog_profanity">Υβριστικό περιεχόμενο ή ρητορική μίσους</string>
@@ -245,29 +205,14 @@
<string name="add_to_public_bookmarks">Προσθήκη στους Δημόσιους Σελιδοδείκτες</string>
<string name="remove_from_private_bookmarks">Αφαίρεση από Ιδιωτικούς Σελιδοδείκτες</string>
<string name="remove_from_public_bookmarks">Αφαίρεση από Δημόσιους Σελιδοδείκτες</string>
<string name="wallet_connect_service">Υπηρεσία Σύνδεσης Πορτοφολιού</string>
<string name="wallet_connect_service_explainer">Εξουσιοδοτεί ένα Nostr Secret να εκτελέσει πληρωμή zaps εντός της εφαρμογής. Κρατήστε το Nostr Secret ασφαλές και χρησιμοποιήστε έναν ιδιωτικό Διαμοιραστή αν είναι δυνατόν</string>
<string name="wallet_connect_service_pubkey">Σύνδεση Πορτοφολιού, Δημόσιο Κλειδί (Pubkey)</string>
<string name="wallet_connect_service_relay">Σύνδεση Πορτοφολιού, Διαμοιραστής (Relay)</string>
<string name="wallet_connect_service_secret">Σύνδεση Πορτοφολιού, Secret</string>
<string name="wallet_connect_service_show_secret">Εμφάνιση \"Μυστικό Κλειδί\"</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex μυστικό κλειδί</string>
<string name="pledge_amount_in_sats">Νέο ποσό σε Sats</string>
<string name="post_poll">Δημοσίευση Δημοσκόπησης</string>
<string name="poll_heading_required">Απαιτούμενα Πεδία:</string>
<string name="poll_zap_recipients">Παραλήπτες Zap</string>
<string name="poll_primary_description">Κύρια περιγραφή Δημοσκόπησης…</string>
<string name="poll_option_index">Επιλογή %s</string>
<string name="poll_option_description">Περιγραφή επιλογής δημοσκόπησης</string>
<string name="poll_heading_optional">Προαιρετικά πεδία:</string>
<string name="poll_zap_value_min">Ελάχιστο Zap</string>
<string name="poll_zap_value_max">Μέγιστο Zap</string>
<string name="poll_consensus_threshold">Συναίνεση</string>
<string name="poll_closing_time">Λήξη μετά από</string>
<string name="poll_closing_time_days">ημέρες</string>
<string name="poll_unable_to_vote">Αδυναμία ψηφοφορίας</string>
<string name="poll_is_closed_explainer">Η δημοσκόπηση έχει λήξει</string>
<string name="poll_zap_amount">Ποσό Zap</string>
<string name="one_vote_per_user_on_atomic_votes">Μόνο μία ψήφος ανά χρήστη επιτρέπεται σε αυτόν τον τύπο δημοσκόπησης</string>
<string name="looking_for_event">"Αναζήτηση γεγονότος %1$s"</string>
<string name="custom_zaps_add_a_message">Προσθήκη δημόσιου μηνύματος</string>
@@ -295,30 +240,12 @@
<string name="zap_type_anonymous_explainer">Ο παραλήπτης και το κοινό δε γνωρίζουν ποιός έστειλε την πληρωμή</string>
<string name="zap_type_nonzap_explainer">Δεν αφήνει ίχνος στο Nostr, παρά μόνο στο Lightning</string>
<string name="file_server">Εξυπηρετητής Αρχείων</string>
<string name="zap_forward_lnAddress">LnAddress (διεύθυνση Lightning) ή @Χρήστης</string>
<string name="upload_server_relays_nip95">Οι Διαμοιραστές σας (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Τα αρχεία φιλοξενούνται στους Διακομιστές σας (relays). Νέο NIP: ελέγξτε αν το υποστηρίζουν</string>
<string name="connect_via_tor_short">Ρυθμίσεις Tor/Orbot</string>
<string name="connect_via_tor">Συνδεθείτε μέσω ρυθμίσεων του Orbot</string>
<string name="do_you_really_want_to_disable_tor_title">Αποσύνδεση από το Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Τα δεδομένα σας θα μεταφερθούν άμεσα στο κανονικό δίκτυο</string>
<string name="yes">Ναι</string>
<string name="no">Όχι</string>
<string name="follow_list_selection">Ακολούθηση Λίστας</string>
<string name="follow_list_kind3follows">Όσοι Ακολουθώ</string>
<string name="follow_list_global">Όλοι</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Σύνδεση μέσω Tor με Orbot
\n\n1. Εγκατάσταση [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Εκκίνηση Orbot
\n3. Στο Orbot, ελέγξτε τη θύρα Socks. Προκαθορισμένος αριθμός θύρας: 9050
\n4. Αν χρειάζεται αλλάξτε τη θύρα στο Orbot
\n5. Ρυθμίστε τη θύρα Socks σε αυτή την οθόνη
\n6. Πατήστε Ενεργοποίηση για να χρησιμοποιήσετε το Orbot ως διαμεσολαβητή
</string>
<string name="orbot_socks_port">Θύρα Orbot</string>
<string name="invalid_port_number">Μη έγκυρος αριθμός θύρας</string>
<string name="use_orbot">Χρήση Orbot</string>
<string name="disconnect_from_your_orbot_setup">Αποσύνδεση Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Προσωπικά Μηνύματα</string>
<string name="app_notification_dms_channel_description">Σας ειδοποιεί όταν φτάνει ένα ιδιωτικό μήνυμα</string>
<string name="app_notification_zaps_channel_name">Ληφθέντα Zaps</string>
@@ -327,20 +254,9 @@
<string name="app_notification_zaps_channel_message_for">για %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">Ειδοποίηση: </string>
<string name="channel_list_join_conversation">Συμμετοχή στη Συζήτηση</string>
<string name="channel_list_user_or_group_id">ID Χρήστη ή Ομάδας</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent ή hex</string>
<string name="channel_list_create_channel">Δημιουργία</string>
<string name="channel_list_join_channel">Εγγραφή</string>
<string name="today">Σήμερα</string>
<string name="content_warning">Προειδοποίηση περιεχομένου</string>
<string name="content_warning_explanation">Αυτή η ανάρτηση περιέχει ευαίσθητο περιεχόμενο το οποίο μερικοί άνθρωποι μπορεί να βρουν προσβλητικό ή ενοχλητικό</string>
<string name="content_warning_hide_all_sensitive_content">Πάντα απόκρυψη ευαίσθητου περιεχομένου</string>
<string name="content_warning_show_all_sensitive_content">Πάντα εμφάνιση ευαίσθητου περιεχομένου</string>
<string name="content_warning_see_warnings">Να εμφανίζονται πάντα προειδοποιήσεις περιεχομένου</string>
<string name="recommended_apps">Συνιστάται: </string>
<string name="filter_spam_from_strangers">Φίλτρο spam από αγνώστους</string>
<string name="warn_when_posts_have_reports_from_your_follows">Προειδοποίηση όταν δημοσιεύσεις έχουν αναφορές από αυτούς που ακολουθείτε</string>
<string name="new_reaction_symbol">Νέο εικονίδιο Αντίδρασης</string>
<string name="no_reaction_type_setup_long_press_to_change">Δεν έχουν επιλεγεί εικονίδια αντίδρασης. Πατήστε παρατεταμένα το κουμπί της καρδιάς για αλλαγή</string>
<string name="zapraiser_explainer">Θέτει τον στόχο του ποσού σε sats (υποδιαίρεση του Bitcoin, 1 Bitcoin = 100.000.000 sats) που θέλετε να συγκεντρώσετε για αυτή τη δημοσίευση. Οι Nostr clients που υποστηρίζουν τη λειτουργία zapraiser ίσως δείχνουν μια μπάρα προόδου του στόχου σας ώστε να ενισχύσουν πιθανές δωρεές</string>
@@ -348,32 +264,21 @@
<string name="sats_to_complete">Zapraiser στο %1$s. %2$s sats ως την επίτευξη του στόχου</string>
<string name="read_from_relay">Ανάγνωση από Διαμοιραστή (Relay)</string>
<string name="write_to_relay">Γράψτε στον Διαμοιραστή</string>
<string name="an_error_occurred_trying_to_get_relay_information">Παρουσιάστηκε σφάλμα κατά τη λήψη πληροφοριών για τον Διαμοιραστή από %1$s</string>
<string name="owner">Κάτοχος</string>
<string name="version">Έκδοση</string>
<string name="software">Λογισμικό</string>
<string name="contact">Επικοινωνία</string>
<string name="supports">Υποστηριζόμενα NIPs (Nostr Improvement Proposals)</string>
<string name="admission_fees">Κόστος Εγγραφής</string>
<string name="payments_url">Διεύθυνση πληρωμής url</string>
<string name="limitations">Περιορισμοί</string>
<string name="countries">Χώρες</string>
<string name="languages">Γλώσσες</string>
<string name="tags">Ετικέτες</string>
<string name="posting_policy">Πολιτική δημοσιεύσεων</string>
<string name="message_length">Μέγεθος μηνύματος</string>
<string name="subscriptions">Συνδρομές</string>
<string name="filters">Φίλτρα</string>
<string name="subscription_id_length">Μήκος id εγγραφής</string>
<string name="minimum_prefix">Ελάχιστο πρόθεμα</string>
<string name="maximum_event_tags">Μέγιστος αριθμός ετικετών ανά δημοσίευση</string>
<string name="content_length">Μέγεθος περιεχομένου</string>
<string name="minimum_pow">Ελάχιστη Απόδειξη Έργου (PoW - Proof of Work)</string>
<string name="auth">Πιστοποίηση</string>
<string name="payment">Πληρωμή</string>
<string name="cashu_redeem">Εξαργύρωση Cashu</string>
<string name="no_lightning_address_set">Δεν έχει οριστεί διεύθυνση Lightning</string>
<string name="copied_token_to_clipboard">Το token αντιγράφηκε στο πρόχειρο</string>
<string name="live_stream_live_tag">ΖΩΝΤΑΝΑ</string>
<string name="live_stream_offline_tag">ΕΚΤΟΣ ΣΥΝΔΕΣΗΣ</string>
<string name="live_stream_ended_tag">ΤΕΛΕΙΩΣΕ</string>
@@ -395,7 +300,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">Πάντα</string>
<string name="connectivity_type_wifi_only">Μόνο WiFi</string>
<string name="connectivity_type_never">Ποτέ</string>
<string name="system">Σύστημα</string>
<string name="light">Φωτεινό</string>
@@ -408,7 +312,6 @@
<string name="automatically_show_url_preview">Προεπισκόπηση URL</string>
<string name="automatically_hide_nav_bars">Κύλιση σε Πλήρη Οθόνη</string>
<string name="automatically_hide_nav_bars_description">Απόκρυψη μενού κατά την κύλιση</string>
<string name="load_image">Φόρτωση Εικόνας</string>
<string name="spamming_users">Ανεπιθύμητοι Χρήστες</string>
<string name="muted_button">Σε σίγαση. Κάντε κλικ για κατάργηση σίγασης</string>
<string name="mute_button">Ήχος ενεργός. Κάντε κλικ για σίγαση</string>
@@ -416,17 +319,10 @@
<string name="nip05_verified">Η διεύθυνση Nostr επαληθεύτηκε</string>
<string name="nip05_failed">Η διεύθυνση Nostr απέτυχε επαλήθευσης</string>
<string name="nip05_checking">Έλεγχος διεύθυνσης Nostr</string>
<string name="select_deselect_all">Επιλογή/Αποεπιλογή όλων</string>
<string name="default_relays">Προεπιλογή</string>
<string name="select_a_relay_to_continue">Επιλέξτε Διαμεσολαβητή για να συνεχίσετε</string>
<string name="zap_forward_title">Προώθηση Zaps σε:</string>
<string name="zap_forward_explainer">Οι clients θα προωθήσουν τα zaps στη διεύθυνση lightning ή στο Προφίλ Χρήστη που φαίνεται παρακάτω αντί για το δικό σας</string>
<string name="geohash_title">Εμφάνιση τοποθεσίας ως </string>
<string name="geohash_explainer">Προσθέτει ένα Geohash (γεωγραφικό στίγμα) της τοποθεσίας σας στη δημοσίευση. Το κοινό θα γνωρίζει ότι βρίσκεστε σε απόσταση 5km (3μίλια) από την τρέχουσα τοποθεσία</string>
<string name="add_sensitive_content_explainer">Προσθέτει μια προειδοποίηση ευαίσθητου περιεχομένου πριν εμφανίσει τη δημοσίευσή σας. Ιδανικό για δημοσίευση με περιεχόμενο NSFW ή περιεχόμενο που κάποια άτομα μπορεί να βρουν προσβλητικό ή ενοχλητικό</string>
<string name="new_feature_nip17_might_not_be_available_title">Νέα Λειτουργία</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_nip17_activate">Ενεργοποίηση</string>
<string name="messages_create_public_chat">Δημόσια</string>
<string name="messages_new_message">Ιδιωτικό</string>
<string name="messages_new_message_to">Προς</string>
@@ -442,42 +338,24 @@
<string name="automatically_load_images_gifs_description">Αυτόματη φόρτωση εικόνων και GIFs</string>
<string name="automatically_play_videos_description">Αυτόματη αναπαραγωγή βίντεο και GIFs</string>
<string name="automatically_show_url_preview_description">Εμφάνιση προεπισκόπησης συνδέσμων</string>
<string name="load_image_description">Φόρτωση περιγραφής εικόνας</string>
<string name="copy_url_to_clipboard">Αντιγραφή διεύθυνσης URL στο πρόχειρο</string>
<string name="copy_the_note_id_to_the_clipboard">Αντιγραφή ID δημοσίευσης στο πρόχειρο</string>
<string name="created_at">Δημιουργήθηκε στις</string>
<string name="rules">Κανόνες</string>
<string name="login_with_external_signer">Σύνδεση με Amber</string>
<string name="status_update">Ενημέρωση κατάστασης</string>
<string name="lightning_wallets_not_found">Σφάλμα ανάλυσης σφάλμα μηνύματος</string>
<string name="poll_zap_value_min_max_explainer">Η ψηφοφορία σε μια δημοσίευση Δημοσκόπησης γίνεται με zaps. Τα zaps είναι μικροπληρωμές σε satoshi (sats). Τα sats είναι υποδιαίρεση του Bitcoin. Κάθε Bitcoin έχει 100.000.000 sats.
Η επιλογή με τα περισσότερα zaps (δηλαδή τα περισσότερα sats) είναι η επικρατέστερη. Μπορείτε να ορίσετε ένα ελάχιστο ποσό zap για να αποφύγετε την ψήφο spammers αλλά και ένα μέγιστο ποσό ώστε να αποφύγετε μεγάλους zappers (χρήστες που στέλνουν zaps) που επιθυμούν να χειραγωγήσουν την ψηφοφορία. Χρησιμοποιήστε το ίδιο ποσό και στα δύο πεδία για να βεβαιωθείτε ότι κάθε ψήφος αποτιμάται το ίδιο. Ή αφήστε τα πεδία κενά για να αποδεχτείτε οποιοδήποτε ποσό.</string>
<string name="error_dialog_zap_error">Αδυναμία αποστολής zap</string>
<string name="error_dialog_talk_to_user">Μήνυμα στον Χρήστη</string>
<string name="relay_information_document_error_assemble_url">Αποτυχία εύρεσης %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Αποτυχία εύρεσης %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Αποτυχία ανάλυσης αποτελέσματος από %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s αποτυχία με κωδικό %2$s</string>
<string name="active_for">Ενεργό για: </string>
<string name="active_for_home">Αρχική σελίδα</string>
<string name="active_for_msg">Προσωπικά μηνύματα</string>
<string name="active_for_chats">Συνομιλίες</string>
<string name="active_for_global">Όλοι</string>
<string name="active_for_search">Αναζήτηση</string>
<string name="zap_split_title">Διαχωρισμός και προώθηση Zaps</string>
<string name="zap_split_explainer">Οι cients θα διαχωρίσουν και θα προωθήσουν τα zaps στους χρήστες που προστέθηκαν εδώ αντί για εσάς</string>
<string name="zap_split_search_and_add_user">Αναζήτηση και Προσθήκη Χρήστη</string>
<string name="zap_split_search_and_add_user_placeholder">Όνομα Χρήστη ή εμφανιζόμενο όνομα</string>
<string name="missing_lud16">Λείπει η ρύθμιση lightning (LN)</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Ο Χρήστης %1$s δεν έχει ορίσει διεύθυνση LN (lightning) για να λαμβάνει sats</string>
<string name="zap_split_weight">Ποσοστό</string>
<string name="splitting_zaps_with">Διαχωρισμός zaps με</string>
<string name="forwarding_zaps_to">Προώθηση zaps σε</string>
<string name="lightning_wallets_not_found2">Δε βρέθηκαν πορτοφόλια Lightning</string>
<string name="paid">Πληρώθηκε</string>
<string name="wallet_number">Πορτοφόλι %1$s</string>
<string name="error_opening_external_signer">Σφάλμα ανοίγματος εφαρμογής υπογραφής</string>
<string name="sign_request_rejected">Υπογραφή αιτήματος απορρίφθηκε</string>
<string name="no_wallet_found_with_error">Δε βρέθηκαν πορτοφόλια για να πληρώσετε το τιμολόγιο Lightning (Error: %1$s). Παρακαλώ εγκαταστήστε ένα πορτοφόλι Lightning για να χρησιμοποιήσετε τα zaps</string>
<string name="no_wallet_found">Δε βρέθηκε ψηφιακό πορτοφόλι για πληρωμή Lightning. Παρακαλώ εγκαταστήστε ένα πορτοφόλι Lightning για να χρησιμοποιήσετε τα zaps</string>
<string name="hidden_words">Κρυφές Λέξεις</string>
@@ -487,28 +365,15 @@
<string name="select_an_option">Διαλέξτε μια επιλογή</string>
<string name="error_dialog_pay_invoice_error">Αδυναμία πληρωμής τιμολογίου</string>
<string name="error_dialog_pay_withdraw_error">Αδυναμία ανάληψης</string>
<string name="error_parsing_nip47_title">Δεν ήταν δυνατή η εγκατάσταση του Wallet Connect</string>
<string name="error_parsing_nip47">Σφάλμα ανάλυσης NIP-47. Ελέγξτε αν αυτό είναι σωστό με τον πάροχο του πορτοφολιού σας: %1$s. Σφάλμα: %2$s</string>
<string name="error_parsing_nip47_no_error">Σφάλμα ανάλυσης NIP-47. Ελέγξτε αν αυτό είναι σωστό με τον πάροχο του πορτοφολιού σας: %1$s.</string>
<string name="cashu_failed_redemption">Αδυναμία εξαργύρωσης Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">Το Mint έδωσε το ακόλουθο μήνυμα σφάλματος: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Τα Cashu tokens έχουν ήδη δαπανηθεί.</string>
<string name="cashu_successful_redemption">Ληφθέντα Cashu</string>
<string name="cashu_successful_redemption_explainer">%1$s sats στάλθηκαν στο πορτοφόλι σας. (Κρατήσεις: %2$s sats)</string>
<string name="error_unable_to_fetch_invoice">Αδυναμία ανάκτησης τιμολογίου από τους διακομιστές του παραλήπτη</string>
<string name="wallet_connect_pay_invoice_error_error">Ο πάροχος σύνδεσης του πορτοφολιού σας επέστρεψε το ακόλουθο σφάλμα: %1$s</string>
<string name="could_not_connect_to_tor">Αδυναμία σύνδεσης στο Tor</string>
<string name="unable_to_download_relay_document">Αδυναμία λήψης εγγράφου από τον Διαμεσολαβητή (relay)</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Δεν ήταν δυνατή η δημιουργία του LNUrl από τη διεύθυνση Lightning \"%1$s\". Ελέγξτε ρυθμίσεις χρήστη</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Η υπηρεσία Lightning του αποδέκτη στο %1$s δεν είναι διαθέσιμη. Υπολογίστηκε από τη διεύθυνση Lightning \"%2$s\". Σφάλμα: %3$s. Ελέγξτε αν ο διακομιστής λειτουργεί και αν η διεύθυνση Lightning είναι σωστή</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Αδυναμία επίλυσης %1$s. Ελέγξτε αν είστε συνδεδεμένοι, αν ο διακομιστής λειτουργεί και αν η διεύθυνση Lightning %2$s είναι σωστή</string>
<string name="could_not_fetch_invoice_from">Αδυναμία λήψης τιμολογίου από %1$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Σφάλμα Ανάλυσης JSON από τη διεύθυνση Lightning. Ελέγξτε τις ρυθμίσεις Lightning του χρήστη</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">Ο σύνδεσμος URL στις ρυθμίσεις διακομιστή της διεύθυνσης Lightning του Χρήστη, δε βρέθηκε</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Σφάλμα Ανάλυσης JSON από τη διεύθυνση ανάκτησης τιμολογίου Lightning. Ελέγξτε τις ρυθμίσεις Lightning του χρήστη</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Λανθασμένο ποσό πληρωμής (%1$s sats) από %2$s. Θα έπρεπε να είναι %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Αδυναμία δημιουργίας πληρωμής Lightning πριν την αποστολή του zap. Το πορτοφόλι Lightning του δέκτη έστειλε το ακόλουθο σφάλμα: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Αδυναμία δημιουργίας πληρωμής Lightning πριν την αποστολή του zap. Το στοιχείο pr δε βρέθηκε στο JSON.</string>
<string name="read_only_user">Χρήστης μόνο για ανάγνωση</string>
<string name="no_reactions_setup">Καμία ρύθμιση αντιδράσεων</string>
<string name="select_push_server">Επιλέξτε μια εφαρμογή UnifiedPush</string>
@@ -533,4 +398,6 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Η υπηρεσία Lightning του αποδέκτη στο %1$s δεν είναι διαθέσιμη. Υπολογίστηκε από τη διεύθυνση Lightning \"%2$s\". Σφάλμα: %3$s. Ελέγξτε αν ο διακομιστής λειτουργεί και αν η διεύθυνση Lightning είναι σωστή</string>
</resources>
@@ -26,4 +26,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
+1 -107
View File
@@ -15,8 +15,6 @@
<string name="spam">Spamo</string>
<string name="impersonation">Personigo</string>
<string name="illegal_behavior">Kontraŭleĝa Konduto</string>
<string name="unknown">Nekonata</string>
<string name="relay_icon">Plusendila Ikono</string>
<string name="unknown_author">Nekonata Aŭtoro</string>
<string name="copy_text">Kopii Tekston</string>
<string name="copy_user_pubkey">Kopii ID de Aŭtoro</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[Bloki kaj Kaŝi Uzanton]]></string>
<string name="report_spam_scam">Raporti Spamon / Friponon</string>
<string name="report_impersonation">Raporti Personigon</string>
<string name="report_explicit_content">Raporti Eksplicitan Enhavon</string>
<string name="report_illegal_behaviour">Raporti Kontraŭleĝan Konduton</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Ensaluti per sekreta ŝlosilo por respondi</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Ensaluti per sekreta ŝlosilo por impulsi afiŝojn</string>
@@ -37,7 +34,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">Ensalutu per sekreta ŝlosilo por sekvi</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">Ensalutu per sekreta ŝlosilo por malsekvi</string>
<string name="zaps">Zapoj</string>
<string name="view_count">Nombro da Vidoj</string>
<string name="boost">Plifortigi</string>
<string name="boosted">impulsita</string>
<string name="quote">Citi</string>
@@ -45,9 +41,7 @@
<string name="add">Aldoni</string>
<string name="replying_to">"respondante al "</string>
<string name="and">" kaj "</string>
<string name="in_channel">"en kanalo "</string>
<string name="profile_banner">Profila Murpapero</string>
<string name="payment_successful">Sukcesa Pago</string>
<string name="error_parsing_error_message">Eraro analizante de erara mesaĝo</string>
<string name="following">" Sekvanti"</string>
<string name="followers">" Sekvantoj"</string>
@@ -62,9 +56,7 @@
<string name="thank_you_so_much">Dankegon!</string>
<string name="amount_in_sats">Kvanto en Satoj</string>
<string name="send_sats">Sendi Satojn</string>
<string name="error_parsing_preview_for">"Eraro anazilante antaŭrigardon de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Antaŭrigardi Bildon de %1$s"</string>
<string name="new_channel">Nova Kanalo</string>
<string name="channel_name">Kanala Nomo</string>
<string name="my_awesome_group">Mia Mojosa Grupo</string>
<string name="picture_url">Bilda URL</string>
@@ -75,35 +67,20 @@
<string name="save">Konservi</string>
<string name="create">Krei</string>
<string name="cancel">Nuligi</string>
<string name="failed_to_upload_the_image">Malsukcesis alŝuti la bildon</string>
<string name="relay_address">Plusendilo Adreso</string>
<string name="posts">Afiŝoj</string>
<string name="bytes">Bajtoj</string>
<string name="errors">Eraroj</string>
<string name="home_feed">Hejma Fluo</string>
<string name="private_message_feed">Fluo de Privata Mesaĝoj</string>
<string name="public_chat_feed">Fluo de Publikaj Babiloj</string>
<string name="global_feed">Tutmonda Fluo</string>
<string name="search_feed">Serĉi Fluon</string>
<string name="add_a_relay">Aldoni Plusendilon</string>
<string name="display_name">Montra Nomo</string>
<string name="my_display_name">Mia montra nomo</string>
<string name="username">Uzantnomo</string>
<string name="my_username">Mia uzantnomo</string>
<string name="about_me">Pri mi</string>
<string name="avatar_url">URL de Avataro</string>
<string name="banner_url">URL de Murpapero</string>
<string name="website_url">URL de Retejo</string>
<string name="ln_address">LN Adreso</string>
<string name="ln_url_outdated">LN URL (malmoderna)</string>
<string name="image_saved_to_the_gallery">Bildo konservita al la galerio</string>
<string name="failed_to_save_the_image">Malsukcesis konservi la bildon</string>
<string name="upload_image">Alŝuti Bildon</string>
<string name="uploading">Alŝutante…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Uzanto ne havas lightning-adreson por ricevi satojn</string>
<string name="reply_here">"respondi ĉi tie.…"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Kopias la ID de Noto al la tondujo por kunhavigi</string>
<string name="copy_channel_id_note_to_the_clipboard">Kopii ID de Kanalo (Noto) al la tondujo</string>
<string name="edits_the_channel_metadata">Redaktas la Metadatumojn de Kanalo</string>
<string name="join">Aliĝi</string>
<string name="known">Konataj</string>
@@ -113,16 +90,12 @@
<string name="conversations">Konversacioj</string>
<string name="notes">Notoj</string>
<string name="replies">Respondoj</string>
<string name="follows">"Sekvitaj"</string>
<string name="reports">"Raportoj"</string>
<string name="more_options">Pli da Opcioj</string>
<string name="relays">" Plusendiloj"</string>
<string name="website">Retejo</string>
<string name="lightning_address">Lightning-Adreso</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopii la Nsec ID (vian pasvorton) al la tondujo por sekurkopio</string>
<string name="copy_private_key_to_the_clipboard">Kopii sekretan ŝlosilon al la tondujo</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Kopii publikan ŝlosilon al la tondujo por kunhavigi</string>
<string name="copy_public_key_npub_to_the_clipboard">Kopii publikan ŝlosilon (NPub) al la tondujo</string>
<string name="send_a_direct_message">Sendi rektan mesaĝon</string>
<string name="edits_the_user_s_metadata">Redakti metadatumojn de uzanto</string>
<string name="follow">Sekvi</string>
@@ -142,7 +115,6 @@
<string name="acceptance_of_terms_is_required">Konsento al kondiĉoj estas nepra</string>
<string name="key_is_required">Ŝlosilo estas nepra</string>
<string name="login">Ensaluti</string>
<string name="generate_a_new_key">Generi novan ŝlosilon</string>
<string name="loading_feed">Ŝargante fluon</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
<!-- Reply subtitle when every relay genuinely bottomed out (no stalls) and it still wasn't there. -->
@@ -150,12 +122,6 @@
<string name="try_again">Provi denove</string>
<string name="feed_is_empty">Fluo estas malplena.</string>
<string name="refresh">Renovigi</string>
<string name="created">kreita</string>
<string name="with_description_of">kun priskribo de</string>
<string name="and_picture">kaj bildo</string>
<string name="changed_chat_name_to">ŝanĝigis babilejo-nomon al</string>
<string name="description_to">priskribon al</string>
<string name="and_picture_to">kaj bildon al</string>
<string name="leave">Eliri</string>
<string name="unfollow">Malsekvi</string>
<string name="channel_created">Kanalo kreita</string>
@@ -177,7 +143,6 @@
<string name="profanity_hateful_speech">Blasfemo / Malama Parolado</string>
<string name="report_hateful_speech">Raporti Malaman paroladon</string>
<string name="report_nudity_porn">Raporti Nudecon / Pornon</string>
<string name="others">aliajn</string>
<string name="mark_all_known_as_read">Marki ĉiujn Konatajn legitaj</string>
<string name="mark_all_new_as_read">Marki ĉiujn Novajn legitaj</string>
<string name="mark_all_as_read">Marki ĉiujn legitajn</string>
@@ -185,23 +150,18 @@
<string name="secret_key_copied_to_clipboard">Sekreta ŝlosilo (nsec) kopiita al tondujo</string>
<string name="copy_my_secret_key">Kopii mian sekretan ŝlosilon</string>
<string name="biometric_authentication_failed">Aŭtentikigo malsukcesis</string>
<string name="biometric_error">Eraro</string>
<string name="badge_created_by">"Kreita per %1$s"</string>
<string name="badge_award_image_for">"Ŝildeto-premia bildo por %1$s"</string>
<string name="new_badge_award_notif">Vi ricevis novan ŝildeto-premion</string>
<string name="award_granted_to">Ŝildeto-premio doniĝita al</string>
<string name="copied_note_text_to_clipboard">Kopiita tekston de noto al tondujo</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Kopiita @npub de aŭtoro al tondujo</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Kopiita ID de noto (@note1) al tondujo</string>
<string name="select_text_dialog_top">Elekti Tekston</string>
<string name="private_conversation_notification">"&lt;Privata mesaĝo nemalĉifrebla.&gt;\n\nVi estis citita en privata konversacio inter %1$s kaj %2$s."</string>
<string name="account_switch_add_account_dialog_title">Aldoni Novan Konton</string>
<string name="drawer_accounts">Kontoj</string>
<string name="account_switch_select_account">Elekti Konton</string>
<string name="account_switch_add_account_btn">Aldoni Novan Konton</string>
<string name="account_switch_active_account">Aktiva konto</string>
<string name="account_switch_has_private_key">Havas sekretan ŝlosilon</string>
<string name="account_switch_pubkey_only">Nur legebla, neniu sekreta ŝlosilo</string>
<string name="back">Malantaŭen</string>
<string name="quick_action_select">Elekti</string>
<string name="quick_action_share_browser_link">Kunhavigi Ligilon</string>
@@ -218,7 +178,6 @@
<string name="quick_action_delete_dialog_btn">Forigi</string>
<string name="quick_action_block">Bloki</string>
<string name="quick_action_report">Denunci</string>
<string name="quick_action_delete_button">Forigi</string>
<string name="quick_action_dont_show_again_button">Ne montru denove</string>
<string name="report_dialog_spam">Spamo aŭ trompoj</string>
<string name="report_dialog_profanity">Obscena aŭ malŝata konduto</string>
@@ -243,28 +202,13 @@
<string name="add_to_public_bookmarks">Aldoni al Publikaj Legosignoj</string>
<string name="remove_from_private_bookmarks">Forigi el Privataj Legosignoj</string>
<string name="remove_from_public_bookmarks">Forigi el Publikaj Legosignoj</string>
<string name="wallet_connect_service">Servico de Monujo-Konektado</string>
<string name="wallet_connect_service_explainer">Permesas Nostr-Sekreton por pagi zapojn sen eliri la apon. Konservi la sekreton sekura kaj uzu privatan plusendilon laŭeble</string>
<string name="wallet_connect_service_pubkey">Pubŝlosilo de Wallet Connect</string>
<string name="wallet_connect_service_relay">Plusendilo de Wallet Connect</string>
<string name="wallet_connect_service_secret">Sekreto de Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Montri sekretan ŝlosilon</string>
<string name="wallet_connect_service_secret_placeholder">nsec / heks privata ŝlosilo</string>
<string name="pledge_amount_in_sats">Promesi Kvanton en Satoj</string>
<string name="post_poll">Afiŝi Enketon</string>
<string name="poll_heading_required">Necesaj kampoj:</string>
<string name="poll_zap_recipients">Zapi ricevantojn</string>
<string name="poll_primary_description">Ĉefa priskribo de enketo…</string>
<string name="poll_option_index">Elekto %s</string>
<string name="poll_option_description">Priskribo de elekto de enketo</string>
<string name="poll_heading_optional">Nedevigaj kampoj:</string>
<string name="poll_zap_value_min">Minimumo de Zapoj</string>
<string name="poll_zap_value_max">Maksimumo de Zapoj</string>
<string name="poll_consensus_threshold">Interkonsento</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Fermi post</string>
<string name="poll_closing_time_days">tagoj</string>
<string name="poll_zap_amount">Kvanto de zapoj</string>
<string name="one_vote_per_user_on_atomic_votes">Nur po unu voĉdono por uzanto estas permesita en ĉi tia enketo</string>
<string name="looking_for_event">"Serĉanta Eventon %1$s"</string>
<string name="custom_zaps_add_a_message">Aldoni publikan mesaĝon</string>
@@ -292,30 +236,12 @@
<string name="zap_type_nonzap">Ne-Zapo</string>
<string name="zap_type_nonzap_explainer">Ne spuro en Nostr, nur en Lightning</string>
<string name="file_server">Dosiera Servilo</string>
<string name="zap_forward_lnAddress">LNAdreson aŭ @Uzanto</string>
<string name="upload_server_relays_nip95">Viaj plusendiloj (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Dosieroj estas konservita de viaj plusendiloj. Nova NIP: kontrolu se ili subtenas</string>
<string name="connect_via_tor_short">Tor/Orbot aranĝo</string>
<string name="connect_via_tor">Konekti tra via Orbot aranĝo</string>
<string name="do_you_really_want_to_disable_tor_title">Malkonekti el via Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Viaj datumoj estos tuj sendita en la normala reto</string>
<string name="yes">Jes</string>
<string name="no">Ne</string>
<string name="follow_list_selection">Listo de Sekvoj</string>
<string name="follow_list_kind3follows">Ĉiuj Sekvoj</string>
<string name="follow_list_global">Ĝenerala</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Konektu tra Tor per Orbot
\n\n1. Instalu [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Aktivigu Orbot
\n3. En Orbot, kontrolu la Socks konektejon. Defaulte uzas 9050
\n4. Se necesa, ŝanĝu la konektejon en Orbot
\n5. Agordu la Socks konektejon en ĉi tiu ekrano
\n6. Alkliki la Aktivigi butonon por uzi Orbot kiel prokuro
</string>
<string name="orbot_socks_port">Socks-Konektejo de Orbot</string>
<string name="invalid_port_number">Nevalida nombro de konektejo</string>
<string name="use_orbot">Uzi Orbot</string>
<string name="disconnect_from_your_orbot_setup">Malkonekti Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Privataj Mesaĝoj</string>
<string name="app_notification_dms_channel_description">Sciigas vin kiam privata mesaĝo alvenas</string>
<string name="app_notification_zaps_channel_name">Zapojn Ricevitaj</string>
@@ -325,20 +251,9 @@
<string name="app_notification_zaps_channel_message_for">pro %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">Sciigi: </string>
<string name="channel_list_join_conversation">Aliĝu al la Konversacio</string>
<string name="channel_list_user_or_group_id">ID de Uzanto aŭ Grupo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent aŭ hex</string>
<string name="channel_list_create_channel">Krei</string>
<string name="channel_list_join_channel">Aliĝi</string>
<string name="today">Hodiaŭ</string>
<string name="content_warning">Enhava averto</string>
<string name="content_warning_explanation">Ĉi tiu afiŝo enhavas delikatan enhavon, kiu povas ofendi aŭ ĝeni iujn</string>
<string name="content_warning_hide_all_sensitive_content">Ĉiam kaŝi delikatajn enhavojn</string>
<string name="content_warning_show_all_sensitive_content">Ĉiam montri delikatajn enhavojn</string>
<string name="content_warning_see_warnings">Ĉiam montri enhavajn avertojn</string>
<string name="recommended_apps">Rekomendas: </string>
<string name="filter_spam_from_strangers">Filtri spamon el fremduloj</string>
<string name="warn_when_posts_have_reports_from_your_follows">Averti kiam afiŝoj havas denuncojn de viaj sekvituloj</string>
<string name="new_reaction_symbol">Nova Reaga Simbolo</string>
<string name="no_reaction_type_setup_long_press_to_change">Neniaj reagoj selektitaj. Premu longe por ŝanĝi</string>
<string name="zapraiser">Zapkolekto</string>
@@ -347,32 +262,22 @@
<string name="sats_to_complete">Zapkolekto je %1$s. %2$s satoj al celo</string>
<string name="read_from_relay">Legi el plusendilo</string>
<string name="write_to_relay">Skribi al Plusendilo</string>
<string name="an_error_occurred_trying_to_get_relay_information">Eraro okazis akirante de plusendila informacio el %1$s</string>
<string name="owner">Posedanto</string>
<string name="version">Versio</string>
<string name="software">Programaro</string>
<string name="contact">Kontakto</string>
<string name="supports">Subtenitaj NIPoj</string>
<string name="admission_fees">Enirpago</string>
<string name="payments_url">URL de pagoj</string>
<string name="limitations">Limoj</string>
<string name="countries">Landoj</string>
<string name="languages">Lingvoj</string>
<string name="tags">Etikedoj</string>
<string name="posting_policy">Reguloj de Afiŝado</string>
<string name="message_length">Longo de Mesaĝo</string>
<string name="subscriptions">Abonoj</string>
<string name="filters">Filtriloj</string>
<string name="subscription_id_length">Longo de ID de Abono</string>
<string name="minimum_prefix">Minimuma prefikso</string>
<string name="maximum_event_tags">Maksimumaj etikedoj de evento</string>
<string name="content_length">Longo de enhavo</string>
<string name="minimum_pow">Minimuma PoW</string>
<string name="payment">Pago</string>
<string name="cashu">Cashu Signo</string>
<string name="cashu_redeem">Elpagi</string>
<string name="no_lightning_address_set">Neniu Lightning-Adreso agordita</string>
<string name="copied_token_to_clipboard">Signo kopita al tondujo</string>
<string name="live_stream_live_tag">VIVE</string>
<string name="live_stream_offline_tag">SENRETA</string>
<string name="live_stream_ended_tag">FINITA</string>
@@ -394,7 +299,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">Ĉiam</string>
<string name="connectivity_type_wifi_only">Nur-Wifi</string>
<string name="connectivity_type_never">Neniam</string>
<string name="system">Sistemo</string>
<string name="light">Hela</string>
@@ -405,7 +309,6 @@
<string name="automatically_load_images_gifs">Antaŭrigardo de Bildo</string>
<string name="automatically_play_videos">Ludado de Video</string>
<string name="automatically_show_url_preview">Antaŭrigardo de URL</string>
<string name="load_image">Montri bildon</string>
<string name="spamming_users">Spamistoj</string>
<string name="muted_button">Silentigita. Alklaki por malsilentigi</string>
<string name="mute_button">Ŝalta sono. Alklaki por silentigi</string>
@@ -413,17 +316,10 @@
<string name="nip05_verified">Nostr-adreso konfirmita</string>
<string name="nip05_failed">Nostr-adreso malsukcesis konfirmon</string>
<string name="nip05_checking">Kontrolanta de Nostr-adreso</string>
<string name="select_deselect_all">Selekti/Malselekti ĉion</string>
<string name="default_relays">Defaŭlta</string>
<string name="select_a_relay_to_continue">Elekti plusendilon por daŭrigi</string>
<string name="zap_forward_title">Plusendi Zapojn al:</string>
<string name="zap_forward_explainer">Subtenantaj klientoj plusendos zapojn al la ĉi-suba LNAdreso aŭ Uzantprofilo anstataŭ al la via</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="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_nip17_might_not_be_available_title">Nova Trajto</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_nip17_activate">Aktivigi</string>
<string name="messages_create_public_chat">Publika</string>
<string name="messages_new_message">Privata</string>
<string name="messages_new_message_to">Al</string>
@@ -438,13 +334,10 @@
<string name="automatically_load_images_gifs_description">Aŭtomate montri imaĝojn kaj GIFojn</string>
<string name="automatically_play_videos_description">Aŭtomate montri videojn kaj GIFojn</string>
<string name="automatically_show_url_preview_description">Montri antaŭrigardoj de URL</string>
<string name="load_image_description">Kiam montri imaĝojn</string>
<string name="copy_url_to_clipboard">Kopii URL al tondujo</string>
<string name="copy_the_note_id_to_the_clipboard">Kopi ID de Noto al tondujo</string>
<string name="created_at">Kreita en</string>
<string name="rules">Reguloj</string>
<string name="status_update">Ĝistadigi vian staton</string>
<string name="lightning_wallets_not_found">Eraro analizante de erara mesaĝo</string>
<string name="poll_zap_value_min_max_explainer">Voĉdonoj pezas laŭ la zap-kvanto. Vi povas difini minimuman kvanton por eviti spamistojn kaj maksimuman kvanton por eviti ke grandaj zapistoj ekregu la enketon. Uzu la saman kvanton en ambaŭ kampoj por certigi ke ĉiuj voĉdonoj pezus same. Malplenigu ĝin por akcepti ajnan kvanton.</string>
<string name="error_dialog_zap_error">Nekapable sendi zapon</string>
<string name="error_dialog_talk_to_user">Mesaĝi la Uzanto</string>
@@ -461,4 +354,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
-107
View File
@@ -15,8 +15,6 @@
<string name="spam">Spamo</string>
<string name="impersonation">Personigo</string>
<string name="illegal_behavior">Kontraŭleĝa Konduto</string>
<string name="unknown">Nekonata</string>
<string name="relay_icon">Plusendila Ikono</string>
<string name="unknown_author">Nekonata Aŭtoro</string>
<string name="copy_text">Kopii Tekston</string>
<string name="copy_user_pubkey">Kopii ID de Aŭtoro</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[Bloki kaj Kaŝi Uzanton]]></string>
<string name="report_spam_scam">Raporti Spamon / Friponon</string>
<string name="report_impersonation">Raporti Personigon</string>
<string name="report_explicit_content">Raporti Eksplicitan Enhavon</string>
<string name="report_illegal_behaviour">Raporti Kontraŭleĝan Konduton</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Ensaluti per sekreta ŝlosilo por respondi</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Ensaluti per sekreta ŝlosilo por impulsi afiŝojn</string>
@@ -37,7 +34,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">Ensalutu per sekreta ŝlosilo por sekvi</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">Ensalutu per sekreta ŝlosilo por malsekvi</string>
<string name="zaps">Zapoj</string>
<string name="view_count">Nombro da Vidoj</string>
<string name="boost">Plifortigi</string>
<string name="boosted">impulsita</string>
<string name="quote">Citi</string>
@@ -45,9 +41,7 @@
<string name="add">Aldoni</string>
<string name="replying_to">"respondante al "</string>
<string name="and">" kaj "</string>
<string name="in_channel">"en kanalo "</string>
<string name="profile_banner">Profila Murpapero</string>
<string name="payment_successful">Sukcesa Pago</string>
<string name="error_parsing_error_message">Eraro analizante de erara mesaĝo</string>
<string name="following">" Sekvanti"</string>
<string name="followers">" Sekvantoj"</string>
@@ -62,9 +56,7 @@
<string name="thank_you_so_much">Dankegon!</string>
<string name="amount_in_sats">Kvanto en Satoj</string>
<string name="send_sats">Sendi Satojn</string>
<string name="error_parsing_preview_for">"Eraro anazilante antaŭrigardon de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Antaŭrigardi Bildon de %1$s"</string>
<string name="new_channel">Nova Kanalo</string>
<string name="channel_name">Kanala Nomo</string>
<string name="my_awesome_group">Mia Mojosa Grupo</string>
<string name="picture_url">Bilda URL</string>
@@ -75,35 +67,20 @@
<string name="save">Konservi</string>
<string name="create">Krei</string>
<string name="cancel">Nuligi</string>
<string name="failed_to_upload_the_image">Malsukcesis alŝuti la bildon</string>
<string name="relay_address">Plusendilo Adreso</string>
<string name="posts">Afiŝoj</string>
<string name="bytes">Bajtoj</string>
<string name="errors">Eraroj</string>
<string name="home_feed">Hejma Fluo</string>
<string name="private_message_feed">Fluo de Privata Mesaĝoj</string>
<string name="public_chat_feed">Fluo de Publikaj Babiloj</string>
<string name="global_feed">Tutmonda Fluo</string>
<string name="search_feed">Serĉi Fluon</string>
<string name="add_a_relay">Aldoni Plusendilon</string>
<string name="display_name">Montra Nomo</string>
<string name="my_display_name">Mia montra nomo</string>
<string name="username">Uzantnomo</string>
<string name="my_username">Mia uzantnomo</string>
<string name="about_me">Pri mi</string>
<string name="avatar_url">URL de Avataro</string>
<string name="banner_url">URL de Murpapero</string>
<string name="website_url">URL de Retejo</string>
<string name="ln_address">LN Adreso</string>
<string name="ln_url_outdated">LN URL (malmoderna)</string>
<string name="image_saved_to_the_gallery">Bildo konservita al la galerio</string>
<string name="failed_to_save_the_image">Malsukcesis konservi la bildon</string>
<string name="upload_image">Alŝuti Bildon</string>
<string name="uploading">Alŝutante…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Uzanto ne havas lightning-adreson por ricevi satojn</string>
<string name="reply_here">"respondi ĉi tie… "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Kopias la ID de Noto al la tondujo por kunhavigi</string>
<string name="copy_channel_id_note_to_the_clipboard">Kopii ID de Kanalo (Noto) al la tondujo</string>
<string name="edits_the_channel_metadata">Redaktas la Metadatumojn de Kanalo</string>
<string name="join">Aliĝi</string>
<string name="known">Konataj</string>
@@ -113,16 +90,12 @@
<string name="conversations">Konversacioj</string>
<string name="notes">Notoj</string>
<string name="replies">Respondoj</string>
<string name="follows">"Sekvitaj"</string>
<string name="reports">"Raportoj"</string>
<string name="more_options">Pli da Opcioj</string>
<string name="relays">" Plusendiloj"</string>
<string name="website">Retejo</string>
<string name="lightning_address">Lightning-Adreso</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopii la Nsec ID (vian pasvorton) al la tondujo por sekurkopio</string>
<string name="copy_private_key_to_the_clipboard">Kopii sekretan ŝlosilon al la tondujo</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Kopii publikan ŝlosilon al la tondujo por kunhavigi</string>
<string name="copy_public_key_npub_to_the_clipboard">Kopii publikan ŝlosilon (NPub) al la tondujo</string>
<string name="send_a_direct_message">Sendi rektan mesaĝon</string>
<string name="edits_the_user_s_metadata">Redakti metadatumojn de uzanto</string>
<string name="follow">Sekvi</string>
@@ -142,18 +115,11 @@
<string name="acceptance_of_terms_is_required">Konsento al kondiĉoj estas nepra</string>
<string name="key_is_required">Ŝlosilo estas nepra</string>
<string name="login">Ensaluti</string>
<string name="generate_a_new_key">Generi novan ŝlosilon</string>
<string name="loading_feed">Ŝargante fluon</string>
<string name="error_loading_replies">"Eraro ŝargante respondojn: "</string>
<string name="try_again">Provi denove</string>
<string name="feed_is_empty">Fluo estas malplena.</string>
<string name="refresh">Renovigi</string>
<string name="created">kreita</string>
<string name="with_description_of">kun priskribo de</string>
<string name="and_picture">kaj bildo</string>
<string name="changed_chat_name_to">ŝanĝigis babilejo-nomon al</string>
<string name="description_to">priskribon al</string>
<string name="and_picture_to">kaj bildon al</string>
<string name="leave">Eliri</string>
<string name="unfollow">Malsekvi</string>
<string name="channel_created">Kanalo kreita</string>
@@ -175,7 +141,6 @@
<string name="profanity_hateful_speech">Blasfemo / Malama Parolado</string>
<string name="report_hateful_speech">Raporti Malaman paroladon</string>
<string name="report_nudity_porn">Raporti Nudecon / Pornon</string>
<string name="others">aliajn</string>
<string name="mark_all_known_as_read">Marki ĉiujn Konatajn legitaj</string>
<string name="mark_all_new_as_read">Marki ĉiujn Novajn legitaj</string>
<string name="mark_all_as_read">Marki ĉiujn legitajn</string>
@@ -183,23 +148,18 @@
<string name="secret_key_copied_to_clipboard">Sekreta ŝlosilo (nsec) kopiita al tondujo</string>
<string name="copy_my_secret_key">Kopii mian sekretan ŝlosilon</string>
<string name="biometric_authentication_failed">Aŭtentikigo malsukcesis</string>
<string name="biometric_error">Eraro</string>
<string name="badge_created_by">"Kreita per %1$s"</string>
<string name="badge_award_image_for">"Ŝildeto-premia bildo por %1$s"</string>
<string name="new_badge_award_notif">Vi ricevis novan ŝildeto-premion</string>
<string name="award_granted_to">Ŝildeto-premio doniĝita al</string>
<string name="copied_note_text_to_clipboard">Kopiita tekston de noto al tondujo</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Kopiita @npub de aŭtoro al tondujo</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Kopiita ID de noto (@note1) al tondujo</string>
<string name="select_text_dialog_top">Elekti Tekston</string>
<string name="private_conversation_notification">"&lt;Privata mesaĝo nemalĉifrebla.&gt;\n\nVi estis citita en privata konversacio inter %1$s kaj %2$s."</string>
<string name="account_switch_add_account_dialog_title">Aldoni Novan Konton</string>
<string name="drawer_accounts">Kontoj</string>
<string name="account_switch_select_account">Elekti Konton</string>
<string name="account_switch_add_account_btn">Aldoni Novan Konton</string>
<string name="account_switch_active_account">Aktiva konto</string>
<string name="account_switch_has_private_key">Havas sekretan ŝlosilon</string>
<string name="account_switch_pubkey_only">Nur legebla, neniu sekreta ŝlosilo</string>
<string name="back">Malantaŭen</string>
<string name="quick_action_select">Elekti</string>
<string name="quick_action_share_browser_link">Kunhavigi Ligilon</string>
@@ -216,7 +176,6 @@
<string name="quick_action_delete_dialog_btn">Forigi</string>
<string name="quick_action_block">Bloki</string>
<string name="quick_action_report">Denunci</string>
<string name="quick_action_delete_button">Forigi</string>
<string name="quick_action_dont_show_again_button">Ne montru denove</string>
<string name="report_dialog_spam">Spamo aŭ trompoj</string>
<string name="report_dialog_profanity">Obscena aŭ malŝata konduto</string>
@@ -241,28 +200,13 @@
<string name="add_to_public_bookmarks">Aldoni al Publikaj Legosignoj</string>
<string name="remove_from_private_bookmarks">Forigi el Privataj Legosignoj</string>
<string name="remove_from_public_bookmarks">Forigi el Publikaj Legosignoj</string>
<string name="wallet_connect_service">Servico de Monujo-Konektado</string>
<string name="wallet_connect_service_explainer">Permesas Nostr-Sekreton por pagi zapojn sen eliri la apon. Konservi la sekreton sekura kaj uzu privatan plusendilon laŭeble</string>
<string name="wallet_connect_service_pubkey">Pubŝlosilo de Wallet Connect</string>
<string name="wallet_connect_service_relay">Plusendilo de Wallet Connect</string>
<string name="wallet_connect_service_secret">Sekreto de Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Montri sekretan ŝlosilon</string>
<string name="wallet_connect_service_secret_placeholder">nsec / heks privata ŝlosilo</string>
<string name="pledge_amount_in_sats">Promesi Kvanton en Satoj</string>
<string name="post_poll">Afiŝi Enketon</string>
<string name="poll_heading_required">Necesaj kampoj:</string>
<string name="poll_zap_recipients">Zapi ricevantojn</string>
<string name="poll_primary_description">Ĉefa priskribo de enketo…</string>
<string name="poll_option_index">Elekto %s</string>
<string name="poll_option_description">Priskribo de elekto de enketo</string>
<string name="poll_heading_optional">Nedevigaj kampoj:</string>
<string name="poll_zap_value_min">Minimumo de Zapoj</string>
<string name="poll_zap_value_max">Maksimumo de Zapoj</string>
<string name="poll_consensus_threshold">Interkonsento</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Fermi post</string>
<string name="poll_closing_time_days">tagoj</string>
<string name="poll_zap_amount">Kvanto de zapoj</string>
<string name="one_vote_per_user_on_atomic_votes">Nur po unu voĉdono por uzanto estas permesita en ĉi tia enketo</string>
<string name="looking_for_event">"Serĉanta Eventon %1$s"</string>
<string name="custom_zaps_add_a_message">Aldoni publikan mesaĝon</string>
@@ -290,30 +234,12 @@
<string name="zap_type_nonzap">Ne-Zapo</string>
<string name="zap_type_nonzap_explainer">Ne spuro en Nostr, nur en Lightning</string>
<string name="file_server">Dosiera Servilo</string>
<string name="zap_forward_lnAddress">LNAdreson aŭ @Uzanto</string>
<string name="upload_server_relays_nip95">Viaj plusendiloj (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Dosieroj estas konservita de viaj plusendiloj. Nova NIP: kontrolu se ili subtenas</string>
<string name="connect_via_tor_short">Tor/Orbot aranĝo</string>
<string name="connect_via_tor">Konekti tra via Orbot aranĝo</string>
<string name="do_you_really_want_to_disable_tor_title">Malkonekti el via Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Viaj datumoj estos tuj sendita en la normala reto</string>
<string name="yes">Jes</string>
<string name="no">Ne</string>
<string name="follow_list_selection">Listo de Sekvoj</string>
<string name="follow_list_kind3follows">Ĉiuj Sekvoj</string>
<string name="follow_list_global">Ĝenerala</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Konektu tra Tor per Orbot
\n\n1. Instalu [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Aktivigu Orbot
\n3. En Orbot, kontrolu la Socks konektejon. Defaulte uzas 9050
\n4. Se necesa, ŝanĝu la konektejon en Orbot
\n5. Agordu la Socks konektejon en ĉi tiu ekrano
\n6. Alkliki la Aktivigi butonon por uzi Orbot kiel prokuro
</string>
<string name="orbot_socks_port">Socks-Konektejo de Orbot</string>
<string name="invalid_port_number">Nevalida nombro de konektejo</string>
<string name="use_orbot">Uzi Orbot</string>
<string name="disconnect_from_your_orbot_setup">Malkonekti Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Privataj Mesaĝoj</string>
<string name="app_notification_dms_channel_description">Sciigas vin kiam privata mesaĝo alvenas</string>
<string name="app_notification_zaps_channel_name">Zapojn Ricevitaj</string>
@@ -322,20 +248,9 @@
<string name="app_notification_zaps_channel_message_from">El %1$s</string>
<string name="app_notification_zaps_channel_message_for">pro %1$s</string>
<string name="reply_notify">Sciigi: </string>
<string name="channel_list_join_conversation">Aliĝu al la Konversacio</string>
<string name="channel_list_user_or_group_id">ID de Uzanto aŭ Grupo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent aŭ hex</string>
<string name="channel_list_create_channel">Krei</string>
<string name="channel_list_join_channel">Aliĝi</string>
<string name="today">Hodiaŭ</string>
<string name="content_warning">Enhava averto</string>
<string name="content_warning_explanation">Ĉi tiu afiŝo enhavas delikatan enhavon, kiu povas ofendi aŭ ĝeni iujn</string>
<string name="content_warning_hide_all_sensitive_content">Ĉiam kaŝi delikatajn enhavojn</string>
<string name="content_warning_show_all_sensitive_content">Ĉiam montri delikatajn enhavojn</string>
<string name="content_warning_see_warnings">Ĉiam montri enhavajn avertojn</string>
<string name="recommended_apps">Rekomendas: </string>
<string name="filter_spam_from_strangers">Filtri spamon el fremduloj</string>
<string name="warn_when_posts_have_reports_from_your_follows">Averti kiam afiŝoj havas denuncojn de viaj sekvituloj</string>
<string name="new_reaction_symbol">Nova Reaga Simbolo</string>
<string name="no_reaction_type_setup_long_press_to_change">Neniaj reagoj selektitaj. Premu longe por ŝanĝi</string>
<string name="zapraiser">Zapkolekto</string>
@@ -344,32 +259,22 @@
<string name="sats_to_complete">Zapkolekto je %1$s. %2$s satoj al celo</string>
<string name="read_from_relay">Legi el plusendilo</string>
<string name="write_to_relay">Skribi al Plusendilo</string>
<string name="an_error_occurred_trying_to_get_relay_information">Eraro okazis akirante de plusendila informacio el %1$s</string>
<string name="owner">Posedanto</string>
<string name="version">Versio</string>
<string name="software">Programaro</string>
<string name="contact">Kontakto</string>
<string name="supports">Subtenitaj NIPoj</string>
<string name="admission_fees">Enirpago</string>
<string name="payments_url">URL de pagoj</string>
<string name="limitations">Limoj</string>
<string name="countries">Landoj</string>
<string name="languages">Lingvoj</string>
<string name="tags">Etikedoj</string>
<string name="posting_policy">Reguloj de Afiŝado</string>
<string name="message_length">Longo de Mesaĝo</string>
<string name="subscriptions">Abonoj</string>
<string name="filters">Filtriloj</string>
<string name="subscription_id_length">Longo de ID de Abono</string>
<string name="minimum_prefix">Minimuma prefikso</string>
<string name="maximum_event_tags">Maksimumaj etikedoj de evento</string>
<string name="content_length">Longo de enhavo</string>
<string name="minimum_pow">Minimuma PoW</string>
<string name="payment">Pago</string>
<string name="cashu">Cashu Signo</string>
<string name="cashu_redeem">Elpagi</string>
<string name="no_lightning_address_set">Neniu Lightning-Adreso agordita</string>
<string name="copied_token_to_clipboard">Signo kopita al tondujo</string>
<string name="live_stream_live_tag">VIVE</string>
<string name="live_stream_offline_tag">SENRETA</string>
<string name="live_stream_ended_tag">FINITA</string>
@@ -387,7 +292,6 @@
<string name="add_sensitive_content_description">Aldonas averton de delikata enhavo antaŭ montri ĉi tiun enhavon</string>
<string name="settings">Agordoj</string>
<string name="connectivity_type_always">Ĉiam</string>
<string name="connectivity_type_wifi_only">Nur-Wifi</string>
<string name="connectivity_type_never">Neniam</string>
<string name="system">Sistemo</string>
<string name="light">Hela</string>
@@ -398,7 +302,6 @@
<string name="automatically_load_images_gifs">Antaŭrigardo de Bildo</string>
<string name="automatically_play_videos">Ludado de Video</string>
<string name="automatically_show_url_preview">Antaŭrigardo de URL</string>
<string name="load_image">Montri bildon</string>
<string name="spamming_users">Spamistoj</string>
<string name="muted_button">Silentigita. Alklaki por malsilentigi</string>
<string name="mute_button">Ŝalta sono. Alklaki por silentigi</string>
@@ -406,17 +309,10 @@
<string name="nip05_verified">Nostr-adreso konfirmita</string>
<string name="nip05_failed">Nostr-adreso malsukcesis konfirmon</string>
<string name="nip05_checking">Kontrolanta de Nostr-adreso</string>
<string name="select_deselect_all">Selekti/Malselekti ĉion</string>
<string name="default_relays">Defaŭlta</string>
<string name="select_a_relay_to_continue">Elekti plusendilon por daŭrigi</string>
<string name="zap_forward_title">Plusendi Zapojn al:</string>
<string name="zap_forward_explainer">Subtenantaj klientoj plusendos zapojn al la ĉi-suba LNAdreso aŭ Uzantprofilo anstataŭ al la via</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="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_nip17_might_not_be_available_title">Nova Trajto</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_nip17_activate">Aktivigi</string>
<string name="messages_create_public_chat">Publika</string>
<string name="messages_new_message">Privata</string>
<string name="messages_new_message_to">Al</string>
@@ -431,13 +327,10 @@
<string name="automatically_load_images_gifs_description">Aŭtomate montri imaĝojn kaj GIFojn</string>
<string name="automatically_play_videos_description">Aŭtomate montri videojn kaj GIFojn</string>
<string name="automatically_show_url_preview_description">Montri antaŭrigardoj de URL</string>
<string name="load_image_description">Kiam montri imaĝojn</string>
<string name="copy_url_to_clipboard">Kopii URL al tondujo</string>
<string name="copy_the_note_id_to_the_clipboard">Kopi ID de Noto al tondujo</string>
<string name="created_at">Kreita en</string>
<string name="rules">Reguloj</string>
<string name="status_update">Ĝistadigi vian staton</string>
<string name="lightning_wallets_not_found">Eraro analizante de erara mesaĝo</string>
<string name="poll_zap_value_min_max_explainer">Voĉdonoj pezas laŭ la zap-kvanto. Vi povas difini minimuman kvanton por eviti spamistojn kaj maksimuman kvanton por eviti ke grandaj zapistoj ekregu la enketon. Uzu la saman kvanton en ambaŭ kampoj por certigi ke ĉiuj voĉdonoj pezus same. Malplenigu ĝin por akcepti ajnan kvanton.</string>
<string name="error_dialog_zap_error">Nekapable sendi zapon</string>
<string name="error_dialog_talk_to_user">Mesaĝi la Uzanto</string>
+6 -260
View File
@@ -32,8 +32,6 @@
<string name="other">Otro</string>
<string name="harassment">Acoso</string>
<string name="violence">Violencia</string>
<string name="unknown">Desconocido</string>
<string name="relay_icon">Icono del transmisor</string>
<string name="unknown_author">Autor desconocido</string>
<string name="copy_text">Copiar texto</string>
<string name="copy_user_pubkey">Copiar PubKey del usuario</string>
@@ -48,12 +46,9 @@
<string name="block_hide_user"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_spam_scam">Reportar Spam / Estafa</string>
<string name="report_impersonation">Reportar suplantación de identidad</string>
<string name="report_explicit_content">Reportar contenido explícito</string>
<string name="report_illegal_behaviour">Reportar comportamiento ilegal</string>
<string name="report_malware">Reportar malware</string>
<string name="report_mod">Reportar mod</string>
<string name="malware">Malware</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder responder</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder impulsar publicaciones.</string>
<string name="login_with_a_private_key_to_like_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para indicar que te gustan las publicaciones.</string>
@@ -67,17 +62,14 @@
<string name="login_with_a_private_key_to_be_able_to_unfollow">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder dejar de seguir a otros usuarios.</string>
<string name="login_with_a_private_key_to_be_able_to_hide_word">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder ocultar una palabra o frase.</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder mostrar una palabra o frase.</string>
<string name="login_with_a_private_key_to_be_able_to_change_settings">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder cambiar la configuración.</string>
<string name="login_with_a_private_key_to_be_able_to_upload">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder subir contenido.</string>
<string name="login_with_a_private_key_to_be_able_to_sign_events">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder firmar eventos.</string>
<string name="unauthorized_exception">Descifrado no autorizado</string>
<string name="unauthorized_exception_description">El firmante no autorizó un descifrado necesario para realizar esta operación. Activa el descifrado NIP-44 en tu aplicación de firmante e inténtalo de nuevo</string>
<string name="signer_not_found_exception">No se ha encontrado el firmante.</string>
<string name="signer_not_found_exception_description">¿Se ha desinstalado la app del firmante? Comprueba si el firmante está instalado y tiene esta cuenta. Cierra sesión y vuelve a iniciar sesión en la app del firmante si ha cambiado.</string>
<string name="signer_illegal_state_exception">Fallo en el comportamiento del firmante</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
<string name="zaps">Zaps</string>
<string name="view_count">Total de visualizaciones</string>
<string name="boost">Impulsar</string>
<string name="boosted">Impulsada</string>
<string name="edited">editada</string>
@@ -90,9 +82,7 @@
<string name="add">Añadir</string>
<string name="replying_to">"respondiendo a "</string>
<string name="and">" y "</string>
<string name="in_channel">"en el canal "</string>
<string name="profile_banner">Banner de perfil</string>
<string name="payment_successful">El pago se ha realizado correctamente</string>
<string name="error_parsing_error_message">Error al analizar el mensaje de error</string>
<string name="following">" Siguiendo"</string>
<string name="followers">" Seguidores"</string>
@@ -165,7 +155,6 @@
<string name="send_payment_cashu_insufficient">No hay suficiente saldo en una moneda que acepte este destinatario. Recarga tu billetera de Cashu primero.</string>
<string name="send_payment_cashu_balance">Disponible para este destinatario: %1$s sats</string>
<string name="send_payment_onchain_fee">Comisión de red</string>
<string name="send_payment_external_wallet">tu app de billetera</string>
<string name="send_payment_onchain_txid">Transacción: %1$s</string>
<string name="lightning_tips">Donación Lightning</string>
<string name="note_to_receiver">Nota al receptor</string>
@@ -179,16 +168,13 @@
<string name="secret_visible_text">Prefijo visible</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Agregar a publicación</string>
<string name="error_parsing_preview_for">"Error al analizar la vista previa de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Imagen de vista previa para %1$s"</string>
<string name="article">Artículo</string>
<string name="new_channel">Nuevo canal</string>
<string name="channel_name">Nombre del canal</string>
<string name="my_awesome_group">Mi grupo genial</string>
<string name="picture_url">URL de imagen</string>
<string name="optional_picture_url">Url de imagen (opcional)</string>
<string name="description">Descripción</string>
<string name="no_description">No se ha encontrado la descripción</string>
<string name="about_us">"Sobre nosotros…"</string>
<string name="what_s_on_your_mind">¿Qué tienes en mente?</string>
<string name="write_a_message">Escribir un mensaje…</string>
@@ -198,42 +184,25 @@
<string name="create">Crear</string>
<string name="rename">Cambiar nombre</string>
<string name="cancel">Cancelar</string>
<string name="failed_to_upload_the_image">No se pudo cargar la imagen</string>
<string name="relay_address">Dirección del relé</string>
<string name="posts">Publicaciones</string>
<string name="bytes">Bytes</string>
<string name="error">Error</string>
<string name="errors">Errores</string>
<string name="connection_success_rate_description">Porcentaje de conexiones exitosas al relé</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>
<string name="global_feed">Fuente global</string>
<string name="search_feed">Fuente de búsqueda</string>
<string name="search_and_add_a_user">Buscar y añadir usuario</string>
<string name="add_a_user">Añadir un usuario</string>
<string name="add_a_relay">Añadir transmisor</string>
<string name="profile_name">Nombre</string>
<string name="profile_name_with_explainer">Nombre (para @etiquetar)</string>
<string name="my_name">Mi nombre de @etiqueta</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="my_awesome_name">Avestruz Maravillosa</string>
<string name="welcome">¡Te damos la bienvenida, Avestruz!</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Sobre mí</string>
<string name="avatar_url">URL del avatar</string>
<string name="banner_url">URL del banner</string>
<string name="website_url">Dirección web</string>
<string name="pronouns">Pronombres</string>
<string name="ln_address">Dirección LN</string>
<string name="ln_url_outdated">Dirección LN (antigua)</string>
<string name="stale_relay_hint_label">Los relés de origen pueden ser obsoletos</string>
<string name="stale_relay_hint_icon_description">Aviso de relé obsoleto</string>
<string name="download_to_phone">Guardar en el teléfono</string>
<string name="save_to_gallery">Guardar en la galería</string>
<string name="image_saved_to_the_gallery">Imagen guardada en la galería</string>
<string name="video_download_has_started_toast">La descarga del vídeo ha comenzado…</string>
<string name="media_download_has_started_toast">La descarga del contenido multimedia ha comenzado…</string>
@@ -250,15 +219,12 @@
<string name="take_a_picture">Hacer una foto</string>
<string name="record_a_video">Grabar un video</string>
<string name="record_a_message">Grabar un mensaje</string>
<string name="record_a_message_title">Grabar un mensaje</string>
<string name="record_a_message_description">Haz clic y mantén pulsado para grabar un mensaje</string>
<string name="re_record">Volver a grabar</string>
<string name="recording_indicator_description">Grabación</string>
<string name="recording_indicator_with_time">Grabando %1$s</string>
<string name="uploading">Cargando…</string>
<string name="upload_error_title">Error de carga</string>
<string name="upload_error_voice_message_failed">Error al cargar el mensaje de voz</string>
<string name="upload_error_voice_message_unexpected_state">Estado inesperado de carga</string>
<string name="upload_error_voice_message_nip95_not_supported">NIP-95 aún no es compatible con mensajes de voz</string>
<string name="upload_error_voice_message_exception">Error al cargar voz: %1$s</string>
<string name="voice_preset_none">Ninguna</string>
@@ -270,8 +236,6 @@
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario no tiene una configuración de dirección Lightning para recibir sats</string>
<string name="reply_here">"responde aquí… "</string>
<string name="user_suggestion_in_this_chat">En este chat</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copia el ID de la nota al portapapeles para compartirla en Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Copiar el ID del canal (nota) al portapapeles</string>
<string name="edits_the_channel_metadata">Edita los metadatos del canal</string>
<string name="join">Unirse</string>
<string name="known">Conocidos</string>
@@ -285,7 +249,6 @@
<string name="replies">Respuestas</string>
<string name="mutual">Tuyo</string>
<string name="gallery">Galería</string>
<string name="follows">"Siguiendo"</string>
<string name="reports">"Reportes"</string>
<string name="number_reports">"%1$s informes"</string>
<string name="more_options">Más opciones</string>
@@ -293,11 +256,8 @@
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="copy_private_key_to_the_clipboard">Copiar clave privada al portapapeles</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copia la clave pública al portapapeles para compartir</string>
<string name="copy_public_key_npub_to_the_clipboard">Copiar la clave pública (NPub) al portapapeles</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="follow">Seguir</string>
@@ -326,8 +286,6 @@
<string name="how_should_we_call_you">¿Cómo debemos llamarte?</string>
<string name="don_t_have_an_account">¿No tienes una cuenta de Nostr?</string>
<string name="already_have_an_account">¿Ya tienes una cuenta de Nostr?</string>
<string name="create_a_new_account">Crear una cuenta nueva</string>
<string name="generate_a_new_key">Generar una nueva clave</string>
<string name="loading_feed">Cargando el tablón…</string>
<string name="loading_account">Cargando cuenta</string>
<string name="chats_history_proto_nip17">encriptado</string>
@@ -343,13 +301,7 @@
<string name="open_poll">Encuesta abierta</string>
<string name="feed_is_empty">Tablón vacío</string>
<string name="refresh">Actualizar</string>
<string name="created">Creado</string>
<string name="with_description_of">con descripción de</string>
<string name="and_picture">y foto</string>
<string name="changed_chat_name_to">cambió el nombre del chat a</string>
<string name="changed_chat_profile_to">Nuevo perfil de chat:</string>
<string name="description_to">descripción a</string>
<string name="and_picture_to">e imagen a</string>
<string name="leave">Salir</string>
<string name="unfollow">Dejar de seguir</string>
<string name="channel_created">Canal creado</string>
@@ -386,7 +338,6 @@
<string name="nip_05">Dirección de Nostr</string>
<string name="never">nunca</string>
<string name="now">ahora</string>
<string name="seconds">segundos</string>
<string name="h">h</string>
<string name="m">m</string>
<string name="d">d</string>
@@ -394,7 +345,6 @@
<string name="profanity_hateful_speech">Blasfemias / Discurso de odio</string>
<string name="report_hateful_speech">Denuncia discurso de odio</string>
<string name="report_nudity_porn">Reportar desnudos / Porno</string>
<string name="others">otros</string>
<string name="mark_all_known_as_read">Marcar los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
@@ -415,8 +365,6 @@
<string name="biometric_authentication_failed">Autenticación fallida</string>
<string name="biometric_authentication_failed_explainer">El sistema biométrico no pudo autenticar al propietario de este teléfono</string>
<string name="biometric_authentication_failed_explainer_with_error">El sistema biométrico no pudo autenticar al propietario de este teléfono. Error: %1$s</string>
<string name="biometric_error">Error</string>
<string name="badge_created_by">"Credo por %1$s"</string>
<string name="badge_award_image_for">"Imagen del Badge para %1$s"</string>
<string name="badge_award_image">\"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Has recibido un nuevo Badge</string>
@@ -424,7 +372,6 @@
<string name="copied_note_text_to_clipboard">Texto de nota copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub del autor copiado al portapapeles</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID de nota copiada (@note1) al portapapeles</string>
<string name="select_text_dialog_top">Seleccionar texto</string>
<string name="private_conversation_notification">"&lt;Unable to decrypt private message&gt;\n\nTe citaron en una conversación privada o encriptada entre %1$s y %2$s."</string>
<string name="account_switch_add_account_dialog_title">Agregar cuenta nueva</string>
<string name="drawer_accounts">Cuentas</string>
@@ -436,8 +383,6 @@
<string name="account_switch_select_account">Seleccionar cuenta</string>
<string name="account_switch_add_account_btn">Agregar cuenta nueva</string>
<string name="account_switch_active_account">Cuenta activa</string>
<string name="account_switch_has_private_key">Tiene clave privada</string>
<string name="account_switch_pubkey_only">Solo de lectura, sin clave privada</string>
<string name="back">Volver</string>
<string name="quick_action_select">Seleccionar</string>
<string name="quick_action_share_browser_link">Compartir enlace del navegador</string>
@@ -458,14 +403,12 @@
<string name="quick_action_mute_thread">Silenciar hilo</string>
<string name="quick_action_unmute_thread">Reactivar hilo</string>
<string name="quick_action_report">Reportar</string>
<string name="quick_action_delete_button">Eliminar</string>
<string name="quick_action_dont_show_again_button">No mostrar de nuevo</string>
<string name="report_dialog_spam">Spam o estafas</string>
<string name="report_dialog_profanity">Groserías o conducta que incita al odio</string>
<string name="report_dialog_impersonation">Suplantación de identidad malintencionada</string>
<string name="report_dialog_nudity">Desnudos o contenido gráfico</string>
<string name="report_dialog_illegal">Comportamiento ilegal</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">Si bloqueas a un usuario, se ocultará su contenido en tu app. Tus notas todavía son visibles públicamente, incluso para las personas que bloquees. Los usuarios bloqueados aparecen en la pantalla \"Filtros de seguridad\".</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_dialog_report_btn">Reportar abuso</string>
@@ -493,7 +436,6 @@
<string name="schedule_post_pick_time">Elegir hora programada</string>
<string name="schedule_post_pick_label">Programación para…</string>
<string name="schedule_post_publishes_in">Se publica en %1$s</string>
<string name="schedule_post_was_due">Se venció hace %1$s</string>
<string name="schedule_post_picker_time_title">Hora</string>
<string name="schedule_post_button_add">Programar publicación</string>
<string name="schedule_post_button_remove">Cancelar programación</string>
@@ -568,7 +510,6 @@
<string name="new_community_relay_marker_author">Autor</string>
<string name="new_community_relay_marker_requests">Solicitudes</string>
<string name="new_community_relay_marker_approvals">Aprobaciones</string>
<string name="new_community_empty">Ninguna comunidad coincide con este filtro.</string>
<string name="new_community_rules_section">Reglas verificables (opcional)</string>
<string name="new_community_rules_hint">Publica un documento de reglas legibles automáticamente (NIP-9B) junto con la comunidad. Los clientes que lo admiten bloquean las publicaciones que no coinciden antes de enviarlas.</string>
<string name="new_community_rules_limits_save">Guardar límites</string>
@@ -633,7 +574,6 @@
<string name="nest_broadcast_connecting">Transmitir en vivo…</string>
<string name="nest_broadcast_failed">Transmisión fallida: %1$s</string>
<string name="nest_mute_failed">Error al silenciar: %1$s</string>
<string name="nest_record_permission_required">Se requiere acceso al micrófono para hablar en esta sala.</string>
<string name="nest_open_settings">Sin permisos</string>
<string name="nest_notification_channel">Nests</string>
<string name="nest_notification_channel_description">Mantiene la reproducción de audio mientras una sala está abierta.</string>
@@ -644,7 +584,6 @@
<string name="nest_join">Unirse a nest</string>
<string name="nest_lobby_host_label">Anfitrión</string>
<string name="nest_lobby_open_action">Abrir</string>
<string name="nest_lobby_recent_chat">Chat reciente</string>
<string name="nest_lobby_no_listeners">Nadie se encuentra en la sala en este momento.</string>
<string name="nest_lobby_listeners_count">%1$d escuchando</string>
<string name="nest_role_host">Anfitrión</string>
@@ -672,8 +611,6 @@
<string name="nest_tab_audience">Público</string>
<string name="nest_tab_hands">Manos</string>
<string name="nest_audience_empty">Todavía no hay nadie en el público.</string>
<string name="nest_chat_send">Enviar</string>
<string name="nest_chat_placeholder">Di algo…</string>
<string name="nest_chat_empty">Aún no hay mensajes. Sé el primero en chatear.</string>
<string name="nest_reactions_button">Reaccionar</string>
<string name="nest_edit_title">Editar sala</string>
@@ -690,7 +627,6 @@
<string name="nests_servers_explainer">Elige en qué servidores host de MoQ quieres que Amethyst publique tus nests. La primera entrada es predeterminada cuando creas un nuevo espacio.</string>
<string name="nests_servers_my_section">Tus servidores</string>
<string name="nests_servers_my_explainer">Guardado como un evento reemplazable para que otros clientes puedan leer tus preferencias.</string>
<string name="nests_servers_add_field">Agregar un servidor de nest</string>
<string name="nests_servers_add_relay_field">URL del relé (WebTransport)</string>
<string name="nests_servers_add_auth_field">URL de autenticación (generación de JWT)</string>
<string name="nests_servers_add_pair_button">Agregar</string>
@@ -712,9 +648,6 @@
<string name="bookmark_list_delete_btn_label">Eliminar lista de marcadores</string>
<string name="bookmark_list_posts_btn_label">Ver publicaciones</string>
<string name="bookmark_list_articles_btn_label">Ver artículos</string>
<string name="bookmark_list_links_btn_label">Ver enlaces</string>
<string name="bookmark_list_hashtags_btn_label">Ver hashtags</string>
<string name="bookmark_list_feed_empty_msg">Aún no tienes ninguna lista de marcadores. Pulsa el nuevo botón de abajo para crear una.</string>
<string name="private_posts_label">Publicaciones privadas</string>
<string name="private_posts_count">Publicaciones privadas(%1$s)</string>
<string name="public_posts_label">Publicaciones públicas</string>
@@ -725,16 +658,6 @@
<string name="bookmark_list_explainer">Los metadatos de las listas de marcadores son visibles para cualquier usuario de Nostr. Solo los miembros privados están cifrados.</string>
<string name="move_bookmark_to_public_label">Mover a público</string>
<string name="move_bookmark_to_private_label">Mover a privado</string>
<string name="wallet_connect_service">Servicio de conexión a monedero</string>
<string name="wallet_connect_service_explainer">Autoriza a un secreto de Nostr para pagar zaps sin salir de la app. Mantén el secreto seguro y usa un relé privado si es posible.</string>
<string name="wallet_connect_service_pubkey">Clave pública de conexión a monedero</string>
<string name="wallet_connect_service_relay">Relé de conexión a monedero</string>
<string name="wallet_connect_service_secret">Secreto de conexión a monedero</string>
<string name="wallet_connect_service_show_secret">Clave secreta de conexión a monedero</string>
<string name="wallet_connect_service_secret_placeholder">clave privada nsec / hex</string>
<string name="wallet_connect_status_connected">Conectada</string>
<string name="wallet_connect_status_not_connected">No conectada</string>
<string name="wallet_connect_manual_config">Avanzado: introduce manualmente los detalles de la conexión</string>
<string name="quick_zap_amounts">Cantidad de zap rápido</string>
<string name="quick_zap_amounts_explainer">Aparece al presionar el botón de zap. Pulsa una cantidad para eliminarla. Si la dejas vacía, se abrirá el cuadro de diálogo para introducir una cantidad cada vez.</string>
<string name="zap_privacy_section">Privacidad de zaps</string>
@@ -742,14 +665,8 @@
<string name="wallet_connect_connect_app">Conectar cartera</string>
<string name="see_relay_feed">Ver fuente de relés</string>
<string name="pledge_amount_in_sats">Destinar cantidad en sats</string>
<string name="post_poll">Publicar encuesta</string>
<string name="poll_heading_required">Campos obligatorios:</string>
<string name="poll_zap_recipients">Destinatarios de zaps</string>
<string name="poll_primary_description">Descripción de encuesta principal…</string>
<string name="poll_option">Opción</string>
<string name="poll_option_index">Opción %s</string>
<string name="poll_option_description">Descripción de opción de encuesta</string>
<string name="poll_heading_optional">Campos opcionales:</string>
<string name="poll_zap_value_min">Zap mínimo</string>
<string name="poll_zap_value_max">Zap máximo</string>
<string name="poll_consensus_threshold">Consenso</string>
@@ -758,11 +675,8 @@
<string name="poll_multiple_choice">Opción múltiple</string>
<string name="poll_closing_date_time">Fecha y hora de cierre de la encuesta</string>
<string name="poll_closing_in">La encuesta se cierra en %1$s</string>
<string name="poll_closing_time">Cerrar después de</string>
<string name="poll_closing_time_days">días</string>
<string name="poll_unable_to_vote">No se puede votar</string>
<string name="poll_is_closed_explainer">Encuesta cerrada para votos nuevos</string>
<string name="poll_zap_amount">Monto del zap</string>
<string name="one_vote_per_user_on_atomic_votes">Solo se permite un voto por usuario en este tipo de encuesta</string>
<string name="looking_for_event">"Buscando evento %1$s"</string>
<string name="send_zap">Enviar zap</string>
@@ -796,17 +710,12 @@
<string name="zap_type_nonzap">No zap</string>
<string name="zap_type_nonzap_explainer">No hay rastro en Nostr, solo en Lightning</string>
<string name="post_anonymously">Anónimo</string>
<string name="post_anonymously_explainer">Publicar como una nueva identidad temporal. Tu cuenta no quedará vinculada a esta respuesta.</string>
<string name="anonymous_reply_warning">Esta respuesta se publicará desde una nueva identidad anónima</string>
<string name="file_server">Servidor de archivos</string>
<string name="file_server_description">Elegir un servidor para cargar este archivo</string>
<string name="zap_forward_lnAddress">Dirección o @usuario de Lightning</string>
<string name="media_servers">Servidores multimedia</string>
<string name="set_preferred_media_servers">Configura tus servidores preferidos para subir contenido multimedia.</string>
<string name="no_nip96_server_message">No tienes ningún servidor NIP-96 configurado. Puedes utilizar la lista de Amethyst o añadir uno de la lista a continuación ↓</string>
<string name="no_blossom_server_message">No tienes ningún servidor Blossom configurado. Puedes utilizar la lista de Amethyst o añadir uno de la lista a continuación ↓</string>
<string name="recommended_media_servers">Servidores multimedia recomendados</string>
<string name="built_in_media_servers_title">Servidores multimedia integrados</string>
<string name="built_in_servers_description">Lista predeterminada de Amethyst. Puedes agregarlos individualmente o añadir la lista.</string>
<string name="use_default_servers">Usar lista predeterminada</string>
<string name="add_media_server">Agregar servidor multimedia</string>
@@ -823,51 +732,22 @@
<string name="uploading_state_hashing">Cifrando</string>
<string name="uploading_state_finished">Listo</string>
<string name="uploading_state_error">Error</string>
<string name="upload_server_relays_nip95">Tus relés (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Los archivos están alojados en tus relés. Nuevo NIP: comprueba si son compatibles.</string>
<string name="privacy_options">Opciones de privacidad</string>
<string name="connect_via_tor_short">Configuración de Tor/Orbot</string>
<string name="connect_via_tor">Conéctate a través de tu configuración de Orbot</string>
<string name="connect_via_tor1">Ajustar</string>
<string name="connect_via_tor2">Configuración de Tor</string>
<string name="do_you_really_want_to_disable_tor_title">¿Desconectarse de tu Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Los datos se transferirán de inmediato en la red normal</string>
<string name="yes">Sí</string>
<string name="no">No</string>
<string name="follow_list_selection">Lista de seguidos</string>
<string name="follow_list_kind3follows">Todos los seguidos</string>
<string name="follow_list_kind3follows_users_only">Todas las cuentas a las que sigue el usuario</string>
<string name="follow_list_kind3follows_proxy">Siguiendo a través de proxy</string>
<string name="follow_list_aroundme">A mi alrededor</string>
<string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Lista de silenciados</string>
<string name="follow_sets">Conjuntos de seguimiento</string>
<string name="labeled_bookmarks">Marcadores etiquetados</string>
<string name="general_bookmarks">Marcadores generales</string>
<string name="follow_set_type_public">Público</string>
<string name="follow_set_type_private">Privado</string>
<string name="follow_set_type_mixed">Mixto</string>
<string name="follow_set_empty_feed_msg"> Al parecer, aún no tienes ningún conjunto de seguimiento.
\nPulsa abajo para actualizar o pulsa los botones de añadir para crear uno nuevo.
</string>
<string name="follow_set_add_author_from_note_action">Añadir autor a conjunto de seguimiento</string>
<string name="follow_set_profile_actions_menu_description">Añadir o eliminar usuario de las listas, o crear una nueva lista con este usuario.</string>
<string name="follow_set_private_members_header_label2">Miembros privados</string>
<string name="follow_set_public_members_header_label">Perfiles públicos</string>
<string name="follow_set_private_members_header_label">Perfiles privados</string>
<string name="follow_set_single_member_label">miembro</string>
<string name="follow_set_multiple_member_label">miembros</string>
<string name="follow_set_empty_label">Sin miembros</string>
<string name="follow_set_empty_label2">Vacío</string>
<string name="follow_set_absence_indicator">%1$s no se encuentra en esta lista</string>
<string name="follow_set_absence_indicator2">%1$s no es miembro</string>
<string name="follow_set_man_dialog_title2">Tus listas y %1$s</string>
<string name="follow_set_man_dialog_title">Tus conjuntos de seguimiento</string>
<string name="follow_set_empty_dialog_msg">No se han encontrado conjuntos de seguimiento, o no tienes ningún conjunto de seguimiento. Pulsa abajo para actualizar o utiliza el menú para crear uno.</string>
<string name="follow_set_error_dialog_msg">Ha habido un problema al recuperar: %1$s</string>
<string name="follow_set_creation_menu_title">Crear nueva lista</string>
<string name="follow_set_creation_item_label">Nueva lista con membresía de %1$s</string>
<string name="follow_set_creation_item_description">Crea un nuevo conjunto de seguimiento y añade a %1$s como miembro de %2$s.</string>
<string name="follow_set_creation_dialog_title">Nueva lista de seguimiento</string>
<string name="follow_pack_creation_dialog_title">Nuevo paquete de seguimiento</string>
<string name="follow_set_copy_dialog_title">Copiar/Clonar lista de seguimiento</string>
@@ -887,14 +767,6 @@
<string name="follow_set_rename_dialog_indicator_first_part">Estás cambiando el nombre de </string>
<string name="follow_set_rename_dialog_indicator_second_part"> a..</string>
<string name="connect_through_your_orbot_setup_short">El puerto predeterminado es 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Conéctate a través de Tor con Orbot
\n\n1. Instala [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android).
\n2. Inicia Orbot.
\n3. En Orbot, comprueba el puerto Socks. La opción predeterminada es 9050.
\n4. Si es necesario, cambia el puerto en Orbot.
\n5. Configura el puerto Socks en la pantalla.
\n6. Presiona y activa el botón para usar Orbot como proxy.
</string>
<string name="orbot_socks_port">Puerto Socks de Orbot</string>
<string name="use_internal_tor">Motor de Tor activo</string>
<string name="use_internal_tor_explainer">Usar la versión interna u Orbot</string>
@@ -936,8 +808,6 @@
<string name="tor_full_privacy_explainer">Oculta tu IP en todas las conexiones</string>
<string name="tor_custom_explainer">Crea el tuyo</string>
<string name="invalid_port_number">Número de puerto inválido</string>
<string name="use_orbot">Usar Orbot</string>
<string name="disconnect_from_your_orbot_setup">Desconectar Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Mensajes privados</string>
<string name="app_notification_dms_channel_description">Te notifica cuando llega un mensaje privado</string>
<string name="app_notification_zaps_channel_name">Zaps recibidos</string>
@@ -969,23 +839,12 @@
<string name="call_bluetooth">Bluetooth</string>
<string name="call_voice">Llamada de voz</string>
<string name="reply_notify">Notificar: </string>
<string name="channel_list_join_conversation">Unirse a la conversación</string>
<string name="channel_list_user_or_group_id">ID de usuario o grupo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent o hexadecimal</string>
<string name="channel_list_create_channel">Crear</string>
<string name="channel_list_join_channel">Unirse</string>
<string name="today">Hoy</string>
<string name="content_warning">Advertencia de contenido</string>
<string name="content_warning_explanation">Esta publicación incluye contenido delicado que algunas personas pueden considerar ofensivo o perturbador.</string>
<string name="content_warning_hide_all_sensitive_content">Ocultar siempre el contenido delicado</string>
<string name="content_warning_show_all_sensitive_content">Mostrar siempre el contenido delicado</string>
<string name="content_warning_see_warnings">Mostrar siempre advertencias sobre contenido</string>
<string name="content_warning_hide_all_sensitive_content_option">Ocultar</string>
<string name="content_warning_show_all_sensitive_content_option">Mostrar</string>
<string name="content_warning_see_warnings_option">Advertir</string>
<string name="recommended_apps">Recomendaciones:</string>
<string name="filter_spam_from_strangers">Filtrar el spam de desconocidos</string>
<string name="warn_when_posts_have_reports_from_your_follows">Avisar cuando las publicaciones tengan reportes de tus seguidos</string>
<string name="filter_spam_from_strangers_title">Filtrar spam</string>
<string name="filter_spam_from_strangers_explainer">Oculta las publicaciones de desconocidos que sean exactamente iguales 5 o más veces.</string>
<string name="warn_when_posts_have_reports_from_your_follows_title">Advertir sobre reportes</string>
@@ -1002,18 +861,15 @@
<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>
<string name="software">Software</string>
<string name="contact">Contacto</string>
<string name="supports">NIP compatibles</string>
<string name="supported_grasps">Grasps compatibles</string>
<string name="admission_fees">Tasas de admisión</string>
<string name="admission">Admisión</string>
<string name="subscription">Suscripción</string>
<string name="publication">Publicación</string>
<string name="payment_link">Pagos %1$s</string>
<string name="payments_url">URL de pagos</string>
<string name="target_audience">Público objetivo</string>
<string name="policies_and_links">Políticas y enlaces</string>
@@ -1021,7 +877,6 @@
<string name="limitations">Limitaciones</string>
<string name="countries">Países</string>
<string name="languages">Idiomas</string>
<string name="tags">Etiquetas</string>
<string name="topics">Temas</string>
<string name="all_countries">Todos los países</string>
<string name="all_languages">Todos los idiomas</string>
@@ -1034,48 +889,34 @@
<string name="relay_monitor_rtt_open">Abrir</string>
<string name="relay_monitor_rtt_read">Leer</string>
<string name="relay_monitor_rtt_write">Escribir</string>
<string name="relay_monitor_rtt">RTT</string>
<string name="relay_monitor_network">Red</string>
<string name="relay_monitor_relay_type">Tipo</string>
<string name="relay_monitor_supported_nips">NIP compatibles</string>
<string name="relay_monitor_requirements">Requisitos</string>
<string name="relay_monitor_last_check">Última comprobación</string>
<string name="relay_monitor_ms">%1$d ms</string>
<string name="relay_discovery_accepted_kinds">Kinds aceptados</string>
<string name="relay_active_subscriptions">Suscripciones activas</string>
<string name="relay_active_outbox">Eventos de outbox pendientes</string>
<string name="relay_req_subscriptions">Suscripciones REQ (%1$d)</string>
<string name="relay_count_subscriptions">Suscripciones COUNT (%1$d)</string>
<string name="message_length">Longitud del mensaje</string>
<string name="subscriptions">Suscripciones</string>
<string name="filters">Filtros</string>
<string name="subscription_id_length">Longitud del ID de la suscripción</string>
<string name="minimum_prefix">Prefijo mínimo</string>
<string name="maximum_event_tags">Etiquetas de evento máximas</string>
<string name="content_length">Longitud del contenido</string>
<string name="event_retention">Retención de eventos</string>
<string name="content_size">Tamaño de contenido</string>
<string name="connectivity">Conectividad</string>
<string name="access_control">Control de acceso</string>
<string name="minimum_pow">PoW mínima</string>
<string name="auth">Autenticación</string>
<string name="auth_required">Se requiere autorización</string>
<string name="payment">Pago</string>
<string name="payment_required">Se requiere pago</string>
<string name="max_message_length">Longitud máxima del mensaje</string>
<string name="max_subs">Suscripciones máximas</string>
<string name="max_filters_per_sub">Filtros máximos por suscripción</string>
<string name="max_limit_events_returning">Límite máximo (devolución de eventos)</string>
<string name="default_limit">Límite predeterminado (devolución de eventos)</string>
<string name="max_subid_length">Longitud máxima de subID</string>
<string name="cashu">Token de Cashu</string>
<string name="cashu_redeem">Canjear</string>
<string name="cashu_redeem_to_zap">Enviar a monedero de zaps</string>
<string name="cashu_redeem_to_cashu">Abrir en monedero de Cashu</string>
<string name="cashu_copy_token">Copiar token</string>
<string name="quick_actions_open_in_another_app">Abrir en otra app</string>
<string name="no_lightning_address_set">La dirección de Lightning no se ha configurado</string>
<string name="copied_token_to_clipboard">Token copiado al portapapeles</string>
<string name="live_stream_live_tag">EN VIVO</string>
<string name="live_stream_offline_tag">FUERA DE LÍNEA</string>
<string name="live_stream_ended_tag">TERMINÓ</string>
@@ -1115,7 +956,6 @@
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="danger_zone">Zona peligrosa</string>
<string name="connectivity_type_always">Siempre</string>
<string name="connectivity_type_wifi_only">Solo Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi sin medición</string>
<string name="connectivity_type_never">Nunca</string>
<string name="ui_feature_set_type_complete">Completo</string>
@@ -1139,7 +979,6 @@
<string name="ui_style_description">Elegir el estilo de publicación</string>
<string name="gallery_style">Estilo de galería de perfil</string>
<string name="gallery_style_description">Elige el estilo de galería</string>
<string name="load_image">Cargar imagen</string>
<string name="spamming_users">Spammers</string>
<string name="muted_button">Silenciado. Hacer clic para reactivar el sonido.</string>
<string name="mute_button">Sonido activado. Hacer clic para silenciar.</string>
@@ -1150,28 +989,19 @@
<string name="nip05_verified">La dirección de Nostr se verificó</string>
<string name="nip05_failed">No se pudo verificar la dirección de Nostr</string>
<string name="nip05_checking">Verificando dirección de Nostr</string>
<string name="select_deselect_all">Seleccionar o deseleccionar todo</string>
<string name="default_relays">Predeterminados</string>
<string name="default_relays_longer">Restablecer valores predeterminados</string>
<string name="select_a_relay_to_continue">Seleccionar un relé para continuar</string>
<string name="zap_forward_title">Reenviar zaps a:</string>
<string name="zap_forward_explainer">Los clientes compatibles reenviarán los zaps a la dirección de Lightning o al perfil de usuario indicados a continuación en lugar de a los tuyos.</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_exclusive">Publicación con ubicación exclusiva</string>
<string name="geohash_exclusive_explainer">Solo los seguidores de la ubicación la verán. Tus seguidores generales no la verán.</string>
<string name="hashtag_exclusive">Publicación exclusiva de hashtag</string>
<string name="hashtag_exclusive_explainer">Solo los seguidores del hashtag la verán. Tus seguidores generales no la verán.</string>
<string name="loading_location">Cargando ubicación</string>
<string name="lack_location_permissions">Sin permisos de ubicación</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_description_placeholder">Motivo (opcional)</string>
<string name="new_feature_nip17_might_not_be_available_title">Función nueva</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_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_description">Nuevo grupo público o privado</string>
<string name="messages_relay_based">Relé</string>
<string name="messages_new_message">Privado</string>
<string name="messages_new_message_to">Para</string>
<string name="messages_new_message_subject">Asunto</string>
@@ -1183,16 +1013,12 @@
<string name="messages_new_subject_message">Explicación para los miembros</string>
<string name="messages_new_subject_message_placeholder">Cambio de nombre para los nuevos objetivos.</string>
<string name="paste_from_clipboard">Pegar desde el portapapeles</string>
<string name="invalid_nip47_uri_title">URI de NIP-47 no válido</string>
<string name="invalid_nip47_uri_description">El URI %1$s no es un URI de inicio de sesión NIP-47 válido.</string>
<string name="connect_to_new_nwc_wallet">Conectar a nueva cartera NWC</string>
<string name="couldnt_find_nwc_wallets">Cartera no encontrada</string>
<string name="language_description">Para la interfaz de la aplicación</string>
<string name="theme_description">Tema oscuro, claro o del sistema</string>
<string name="automatically_load_images_gifs_description">Cargar automáticamente imágenes y GIF</string>
<string name="automatically_play_videos_description">Reproducir automáticamente videos y GIF</string>
<string name="automatically_show_url_preview_description">Mostrar vistas previas de URL</string>
<string name="load_image_description">Cuándo cargar imágenes</string>
<string name="copy_stack_to_clipboard">Copiar stack</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="copy_npub_to_clipboard">Copiar npub al portapapeles</string>
@@ -1203,49 +1029,26 @@
<string name="media_added">Contenido multimedia añadido</string>
<string name="media_added_to_profile_gallery">Contenido multimedia añadido a la galería del perfil</string>
<string name="created_at">Creado</string>
<string name="rules">Reglas</string>
<string name="community_description">Sobre nosotros</string>
<string name="guidelines">Directrices</string>
<string name="moderators">Moderadores</string>
<string name="login_with_external_signer">Iniciar sesión con Amber</string>
<string name="status_update">Actualiza tu estado</string>
<string name="lightning_wallets_not_found">Error al analizar el mensaje de error</string>
<string name="poll_zap_value_min_max_explainer">Los votos se calculan según la cantidad de zaps. Puedes establecer una cantidad mínima para evitar spammers y una máxima para que los zappers grandes no puedan dominar la encuesta. Usa la misma cantidad en ambos campos para asegurarte de que cada voto tenga el mismo valor. Déjalos vacíos para aceptar cualquier cantidad.</string>
<string name="error_dialog_zap_error">No se pudo enviar el zap</string>
<string name="error_dialog_talk_to_user">Mensaje para el usuario</string>
<string name="error_dialog_talk_to_user_name">Mensaje %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Error al ensamblar la url NIP-11 para %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">No se pudo contactar %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Error al analizar la respuesta de %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">El relé rechazó la solicitud %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Error al analizar el resultado de %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s falló con el código %2$s</string>
<string name="active_for">Activo para: </string>
<string name="active_for_home">Inicio</string>
<string name="active_for_msg">Mensajes directos</string>
<string name="active_for_chats">Chats</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Búsqueda</string>
<string name="zap_split_title">Dividir y reenviar zaps</string>
<string name="zap_split_explainer">Los clientes compatibles dividirán y reenviarán los zaps a los usuarios que se agreguen aquí en lugar de enviártelos a ti.</string>
<string name="zap_split_search_and_add_user">Buscar y agregar usuario</string>
<string name="zap_split_search_and_add_user_placeholder">Nombre de usuario o para mostrar</string>
<string name="missing_lud16">Lightning no está configurado</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario %1$s no tiene una dirección de Lightning configurada para recibir sats.</string>
<string name="zap_split_weight">Porcentaje</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Dividir zaps con</string>
<string name="forwarding_zaps_to">Reenviar zaps a</string>
<string name="lightning_wallets_not_found2">No se encontraron billeteras de Lightning</string>
<string name="paid">Pagado</string>
<string name="wallet_number">Monedero %1$s</string>
<string name="error_opening_external_signer">Error al abrir la aplicación firmante</string>
<string name="error_opening_external_signer_description">No se pudo encontrar la aplicación firmante. Comprueba si no se desinstaló la aplicación.</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="no_wallet_found_with_error">No se encontraron monederos para pagar una factura de Lightning (error: %1$s). Instala un monedero de Lightning para usar zaps.</string>
<string name="no_wallet_found">No se encontraron monederos para pagar una factura de Lightning. Instala un monedero de Lightning para usar zaps.</string>
@@ -1256,36 +1059,19 @@
<string name="select_an_option">Seleccionar una opción</string>
<string name="error_dialog_pay_invoice_error">No se pudo pagar la factura</string>
<string name="error_dialog_pay_withdraw_error">No se pudo retirar</string>
<string name="error_parsing_nip47_title">No se pudo configurar Wallet Connect</string>
<string name="error_parsing_nip47">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor del monedero: %1$s. Error: %2$s</string>
<string name="error_parsing_nip47_no_error">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor del monedero: %1$s.</string>
<string name="cashu_failed_redemption">No se pudo canjear Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">La Mint proporcionó el siguiente mensaje de error: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Los tokens de Cashu ya se gastaron.</string>
<string name="cashu_successful_redemption">Cashu recibido</string>
<string name="cashu_successful_redemption_explainer">Se enviaron %1$s sats a tu monedero (comisión: %2$s sats).</string>
<string name="cashu_no_wallet_found">No se encontró ningún monedero de Cashu compatible en el sistema</string>
<string name="error_unable_to_fetch_invoice">No se puede obtener la factura de los servidores del destinatario</string>
<string name="wallet_connect_pay_invoice_error_error">El proveedor de conexión de monedero devolvió el siguiente error: %1$s</string>
<string name="could_not_connect_to_tor">No se pudo conectar a Tor</string>
<string name="unable_to_download_relay_document">No está disponible la descarga de documentos del relé</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning \"%1$s\". Comprueba la configuración del usuario.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="could_not_fetch_invoice_from">No se pudo obtener la factura de %1$s</string>
<string name="could_not_fetch_invoice_from_details">No se ha podido obtener la factura de %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Error al analizar JSON desde la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">No se encontró la URL de devolución de llamada en la configuración del servidor de la dirección de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">No se encontró la URL de devolución de llamada en la respuesta de %1$s.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Error al analizar JSON desde la recuperación de factura de la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Cantidad de factura incorrecta (%1$s sats) de %2$s. Debería haber sido %3$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">No se pudo crear una factura de Lightning antes de enviar el zap. El monedero de Lightning del destinatario envió el siguiente error: %1$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">No se pudo crear una factura de Lightning antes de enviar el zap. No se encontró el elemento pr en el JSON resultante.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
<string name="read_only_user">Usuario de solo lectura</string>
<string name="no_reactions_setup">No hay reacciones configuradas</string>
<string name="select_push_server">Seleccionar una aplicación UnifiedPush</string>
@@ -1303,13 +1089,11 @@
<string name="send_the_seller_a_message">Envía un mensaje al vendedor</string>
<string name="hi_seller_is_this_still_available">Hola, %1$s, ¿esto todavía está disponible?</string>
<string name="hi_there_is_this_still_available">Hola, ¿esto todavía está disponible?</string>
<string name="classifieds">Vender un artículo</string>
<string name="classifieds_title">Título</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Estado</string>
<string name="classifieds_category">Categoría</string>
<string name="classifieds_price">Precio (en sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Ubicación</string>
<string name="classifieds_location_placeholder">Ciudad, estado, país.</string>
<string name="classifieds_condition_new">Nuevo</string>
@@ -1338,20 +1122,13 @@
<string name="classifieds_category_other">Otros</string>
<string name="failed_to_upload_media_no_details">Error al subir contenido multimedia</string>
<string name="could_not_open_the_compressed_file">No se pudo abrir el archivo comprimido</string>
<string name="error_when_compressing_media">Error al comprimir el contenido multimedia: %1$s</string>
<string name="failed_to_upload_media">Error de carga: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">El servidor no proporcionó una URL después de la carga</string>
<string name="could_not_download_from_the_server">No se pudo descargar el contenido cargado desde el servidor</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de cargar: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">No se pudo preparar el archivo local para cargar: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Error al cargar a %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Error al subir: %1$s</string>
<string name="failed_to_delete_with_message">Error al eliminar: %1$s</string>
<string name="media_too_big_for_nip95">El contenido multimedia es demasiado grande para NIP-95</string>
<string name="unable_to_load_thumbnail">No se puede subir imagen en miniatura</string>
<string name="could_not_prepare_header">No se pudo preparar la información del encabezado: %1$s</string>
<string name="compression_cancelled">Compresión cancelada</string>
<string name="compression_returned_null">La compresión no pudo devolver un archivo</string>
<string name="failed_to_upload_encrypted_media_message">Muchos servidores no aceptan archivos cifrados en cuentas gratuitas. Puedes volver a intentarlo sin cifrado.</string>
<string name="retry_without_encryption">Reintentar sin cifrado</string>
<string name="upload_without_encryption_warning">Advertencia: Sin cifrado, cualquiera con el enlace del archivo puede ver el contenido.</string>
@@ -1365,34 +1142,25 @@
<string name="video_codec_h265_description">Mejor calidad en tamaños de archivos más pequeños, pero no todos los dispositivos admiten la reproducción H.265.</string>
<string name="edit_draft">Editar borrador</string>
<string name="login_with_qr_code">Iniciar sesión con código QR</string>
<string name="route">Ruta</string>
<string name="route_home">Inicio</string>
<string name="route_search">Buscar</string>
<string name="route_discover">Descubrir</string>
<string name="route_messages">Mensajes</string>
<string name="route_notifications">Notificaciones</string>
<string name="route_global">Global</string>
<string name="route_video">Cortos</string>
<string name="route_chess">Ajedrez</string>
<string name="wallet">Cartera</string>
<string name="wallet_balance">Saldo</string>
<string name="wallet_send">Enviar</string>
<string name="wallet_receive">Recibir</string>
<string name="wallet_transactions">Transacciones</string>
<string name="wallet_no_connection">No hay cartera conectada</string>
<string name="wallet_no_connection_description">Configure una conexión de Nostr Wallet Connect (NWC) en la configuración de zaps para usar la cartera.</string>
<string name="wallet_setup">Configurar cartera</string>
<string name="wallet_sats">sats</string>
<string name="wallet_paste_invoice">Pegar una factura BOLT-11</string>
<string name="wallet_pay">Pagar</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">Filtros de seguridad</string>
<string name="route_import_follows">Importar seguidos</string>
<string name="new_post">Nueva publicación</string>
<string name="new_short">Nuevos cortos: imágenes o vídeos</string>
<string name="new_community_note">Nueva nota comunitaria</string>
<string name="new_product">Nuevo producto</string>
<string name="new_exclusive_geo_note">Nueva publicación geoexclusiva</string>
<string name="open_all_reactions_to_this_post">Abrir todas las reacciones a esta publicación</string>
<string name="close_all_reactions_to_this_post">Cerrar todas las reacciones a esta publicación</string>
<string name="reply_description">Responder</string>
@@ -1418,29 +1186,22 @@
<string name="relay_info">Relé %1$s</string>
<string name="expand_relay_list">Ampliar lista de relés</string>
<string name="note_options">Opciones de notas</string>
<string name="relay_list_selector">Selector de lista de relés</string>
<string name="poll">Encuesta</string>
<string name="disable_poll">Desactivar encuesta</string>
<string name="add_bitcoin_invoice">Factura de Bitcoin</string>
<string name="cancel_bitcoin_invoice">Cancelar factura de Bitcoin</string>
<string name="cancel_classifieds">Cancelar la venta de un artículo</string>
<string name="add_zapraiser">Recaudación de zaps</string>
<string name="cancel_zapraiser">Cancelar zapraiser</string>
<string name="add_location">Ubicación</string>
<string name="remove_location">Eliminar ubicación</string>
<string name="add_zap_split">Divisiones de zaps</string>
<string name="cancel_zap_split">Cancelar división de zap</string>
<string name="add_content_warning">Añadir advertencia de contenido</string>
<string name="remove_content_warning">Eliminar advertencia de contenido</string>
<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_examples2">Algunas buenas opciones son:\n - auth.nostr1.com (free)\n - inbox.nostr.wine (paid)\n - relay.0xchat.com (free)</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>
@@ -1449,7 +1210,6 @@
<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="dm_upload">Carga de mensaje directo</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_profile">El usuario está publicando su contenido a estos relés</string>
@@ -1462,12 +1222,8 @@
<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="connected_section">Relés conectados</string>
<string name="connected_section_description">Lista actual de relés en uso</string>
<string name="kind_3_recommended_section">Relés recomendados</string>
<string name="kind_3_recommended_section_description">Agrega los siguientes relés a la lista de relés generales para recibir publicaciones de los usuarios de la lista.</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>
@@ -1494,11 +1250,8 @@
<string name="this_version_brought_to_you_by">Esta versión fue posible gracias a:</string>
<string name="version_name">Versión %1$s</string>
<string name="thank_you">¡Gracias!</string>
<string name="max_limit">Límite máximo</string>
<string name="restricted_writes">Escrituras restringidas</string>
<string name="forked_from">Bifurcación de</string>
<string name="forked_tag">BIFURCACIÓN</string>
<string name="git_repository">Repositorio Git: %1$s</string>
<string name="git_web_address">Web:</string>
<string name="git_clone_address">Clon:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -1506,20 +1259,13 @@
<string name="ots_info_description">Hay prueba de que esta publicación se firmó en algún momento antes de %1$s. La prueba se marcó en la cadena de bloques de Bitcoin en esa fecha y hora.</string>
<string name="edit_post">Editar publicación</string>
<string name="proposal_to_edit">Propuesta para mejorar una publicación</string>
<string name="message_to_author">Resumen de cambios</string>
<string name="message_to_author_placeholder">Correcciones rápidas…</string>
<string name="accept_the_suggestion">Aceptar la sugerencia</string>
<string name="enter_picture_in_picture">Iniciar video en una ventana emergente</string>
<string name="accessibility_download_for_offline">Descargar</string>
<string name="accessibility_lyrics_on">Letra activada</string>
<string name="accessibility_lyrics_off">Letra desactivada</string>
<string name="accessibility_turn_on_sealed_message">Mensaje sellado desactivado. Haz clic para activar el mensaje sellado.</string>
<string name="accessibility_turn_off_sealed_message">Mensaje sellado activado. Haz clic para desactivar el mensaje sellado.</string>
<string name="accessibility_send">Enviar</string>
<string name="accessibility_play_username">Reproducir nombre de usuario como audio</string>
<string name="accessibility_pushpin">Marcador</string>
<string name="accessibility_scan_qr_code">Escanear código QR</string>
<string name="accessibility_navigate_to_alby">Ir al proveedor externo de monederos Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">No es posible responder a un borrador de nota</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">No es posible citar un borrador de nota</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">No es posible reaccionar a un borrador de nota</string>
@@ -1560,28 +1306,23 @@
<string name="http_status_507">Almacenamiento insuficiente: el servidor no dispone de almacenamiento suficiente para procesar correctamente la solicitud.</string>
<string name="http_status_508">Bucle detectado: el servidor detecta un bucle infinito al procesar la solicitud.</string>
<string name="http_status_511">Autenticación de red requerida: el cliente debe estar autenticado para acceder a la red.</string>
<string name="media_servers_nip96_section">Servidores NIP-96</string>
<string name="media_servers_nip96_explainer">Añade tantos servidores como quieras. Puedes elegir cuál utilizar más tarde al cargar tu foto.</string>
<string name="media_servers_blossom_section">Servidores Blossom</string>
<string name="media_servers_blossom_explainer">Añade tantos servidores como quieras. Puedes elegir cuál utilizar más tarde al subir tu foto.</string>
<string name="add_a_nip96_server">Agregar servidor NIP-96</string>
<string name="add_a_blossom_server">Añadir un servidor Blossom</string>
<string name="delete_all">Borrar todo</string>
<string name="delete_all_drafts_confirmation">¿Seguro quieres eliminar todos los borradores?</string>
<string name="stack">Stack:</string>
<string name="torrent_file">Archivo torrent</string>
<string name="torrent_download">Descargar</string>
<string name="torrent_failure">Error al abrir el archivo</string>
<string name="torrent_no_apps">No hay aplicaciones torrent instaladas para abrir y descargar el archivo.</string>
<string name="torrent_no_info">El evento no tiene suficiente información para crear un enlace magnético</string>
<string name="my_lists_and_sets">Mis listas/conjuntos</string>
<string name="select_list_to_filter">Selecciona una lista para filtrar el tablón</string>
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<string name="temporary_account">Cerrar sesión al bloquear dispositivo</string>
<string name="private_message">Mensaje privado</string>
<string name="public_message">Mensaje público</string>
<string name="group_relay">Relé de chat</string>
<string name="group_relay_explanation">Relé al que todos los usuarios de este chat se conectan</string>
<string name="share_image">Compartir imagen…</string>
<string name="unable_to_share_image">No se puede compartir la imagen, inténtalo de nuevo más tarde…</string>
<string name="search_by_hashtag">Buscar hashtag: #%1$s</string>
@@ -1596,7 +1337,6 @@
<string name="crashreport_found">Informe de error encontrado</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">¿Te gustaría enviar el informe de error reciente a Amethyst en un mensaje directo? No se compartirá información personal</string>
<string name="crashreport_found_send">Enviarlo</string>
<string name="this_message_will_disappear_in_days">Este mensaje desaparecerá en %1$d días</string>
<string name="select_signer">Seleccionar firmante</string>
<!-- Kind display names for relay subscription filter chips -->
<!-- M3 Action Dialog titles -->
@@ -1608,4 +1348,10 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
</resources>
+6 -255
View File
@@ -32,8 +32,6 @@
<string name="other">Otro</string>
<string name="harassment">Acoso</string>
<string name="violence">Violencia</string>
<string name="unknown">Desconocido</string>
<string name="relay_icon">Ícono de relé</string>
<string name="unknown_author">Autor desconocido</string>
<string name="copy_text">Copiar texto</string>
<string name="copy_user_pubkey">Copiar llave pública del usuario</string>
@@ -48,12 +46,9 @@
<string name="block_hide_user"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_spam_scam">Reportar spam o estafa</string>
<string name="report_impersonation">Reportar suplantación de identidad</string>
<string name="report_explicit_content">Reportar contenido explícito</string>
<string name="report_illegal_behaviour">Reportar comportamiento ilegal</string>
<string name="report_malware">Reportar malware</string>
<string name="report_mod">Reportar mod</string>
<string name="malware">Malware</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder responder</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder impulsar publicaciones</string>
<string name="login_with_a_private_key_to_like_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para indicar que te gustan las publicaciones.</string>
@@ -73,10 +68,8 @@
<string name="unauthorized_exception_description">El firmante no autorizó un descifrado necesario para realizar esta operación. Activa el descifrado NIP-44 en tu aplicación de firmante e inténtalo de nuevo</string>
<string name="signer_not_found_exception">No se ha encontrado el firmante.</string>
<string name="signer_not_found_exception_description">¿Se desinstaló la app del firmante? Comprueba si el firmante está instalado y tiene esta cuenta. Cierra sesión y vuelve a iniciar sesión en la app del firmante si cambió.</string>
<string name="signer_illegal_state_exception">Fallo en el comportamiento del firmante</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
<string name="zaps">Zaps</string>
<string name="view_count">Total de visualizaciones</string>
<string name="boost">Impulsar</string>
<string name="boosted">Impulsada</string>
<string name="edited">editada</string>
@@ -89,9 +82,7 @@
<string name="add">Agregar</string>
<string name="replying_to">"respondiendo a "</string>
<string name="and">" y "</string>
<string name="in_channel">"en el canal "</string>
<string name="profile_banner">Banner del perfil</string>
<string name="payment_successful">El pago se realizó correctamente</string>
<string name="error_parsing_error_message">Error al analizar el mensaje de error</string>
<string name="following">" Siguiendo"</string>
<string name="followers">" Seguidores"</string>
@@ -164,7 +155,6 @@
<string name="send_payment_cashu_insufficient">No hay suficiente saldo en una moneda que acepte este destinatario. Recarga tu billetera de Cashu primero.</string>
<string name="send_payment_cashu_balance">Disponible para este destinatario: %1$s sats</string>
<string name="send_payment_onchain_fee">Comisión de red</string>
<string name="send_payment_external_wallet">tu app de billetera</string>
<string name="send_payment_onchain_txid">Transacción: %1$s</string>
<string name="lightning_tips">Propinas mediante Lightning</string>
<string name="note_to_receiver">Nota para el destinatario</string>
@@ -178,16 +168,13 @@
<string name="secret_visible_text">Prefijo visible</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Agregar a publicación</string>
<string name="error_parsing_preview_for">"Error al analizar la vista previa de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Vista previa de imagen de tarjeta para %1$s"</string>
<string name="article">Artículo</string>
<string name="new_channel">Nuevo canal</string>
<string name="channel_name">Nombre del canal</string>
<string name="my_awesome_group">Mi grupo genial</string>
<string name="picture_url">URL de imagen</string>
<string name="optional_picture_url">Url de imagen (opcional)</string>
<string name="description">Descripción</string>
<string name="no_description">No se encontró la descripción</string>
<string name="about_us">"Quiénes somos…"</string>
<string name="what_s_on_your_mind">¿Qué estás pensando?</string>
<string name="write_a_message">Escribir un mensaje…</string>
@@ -197,42 +184,25 @@
<string name="create">Crear</string>
<string name="rename">Cambiar nombre</string>
<string name="cancel">Cancelar</string>
<string name="failed_to_upload_the_image">Error al subir la imagen</string>
<string name="relay_address">Dirección del relé</string>
<string name="posts">Publicaciones</string>
<string name="bytes">Bytes</string>
<string name="error">Error</string>
<string name="errors">Errores</string>
<string name="connection_success_rate_description">Porcentaje de conexiones exitosas al relé</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>
<string name="global_feed">Feed global</string>
<string name="search_feed">Feed de búsqueda</string>
<string name="search_and_add_a_user">Buscar y agregar usuario</string>
<string name="add_a_user">Agregar un usuario</string>
<string name="add_a_relay">Agregar un relé</string>
<string name="profile_name">Nombre</string>
<string name="profile_name_with_explainer">Nombre (para @etiquetar)</string>
<string name="my_name">Mi nombre de @etiqueta</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="my_awesome_name">Avestruz Maravillosa</string>
<string name="welcome">¡Te damos la bienvenida, Avestruz!</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Quién soy</string>
<string name="avatar_url">URL del avatar</string>
<string name="banner_url">URL del banner</string>
<string name="website_url">URL del sitio web</string>
<string name="pronouns">Pronombres</string>
<string name="ln_address">Dirección de Lightning</string>
<string name="ln_url_outdated">URL de Lightning (obsoleta)</string>
<string name="stale_relay_hint_label">Los relés de origen pueden ser obsoletos</string>
<string name="stale_relay_hint_icon_description">Aviso de relé obsoleto</string>
<string name="download_to_phone">Guardar en el teléfono</string>
<string name="save_to_gallery">Guardar en la galería</string>
<string name="image_saved_to_the_gallery">Imagen guardada en la galería</string>
<string name="video_download_has_started_toast">Comenzó la descarga del video…</string>
<string name="media_download_has_started_toast">Comenzó la descarga del contenido multimedia…</string>
@@ -248,15 +218,12 @@
<string name="upload_file">Subir archivo</string>
<string name="take_a_picture">Tomar una foto</string>
<string name="record_a_message">Grabar un mensaje</string>
<string name="record_a_message_title">Grabar un mensaje</string>
<string name="record_a_message_description">Haz clic y mantén presionado para grabar un mensaje</string>
<string name="re_record">Volver a grabar</string>
<string name="recording_indicator_description">Grabación</string>
<string name="recording_indicator_with_time">Grabando %1$s</string>
<string name="uploading">Subiendo…</string>
<string name="upload_error_title">Error de carga</string>
<string name="upload_error_voice_message_failed">Error al cargar el mensaje de voz</string>
<string name="upload_error_voice_message_unexpected_state">Estado inesperado de carga</string>
<string name="upload_error_voice_message_nip95_not_supported">NIP-95 aún no es compatible con mensajes de voz</string>
<string name="upload_error_voice_message_exception">Error al cargar voz: %1$s</string>
<string name="voice_preset_none">Ninguna</string>
@@ -268,8 +235,6 @@
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario no tiene configurada una dirección de Lightning para recibir sats</string>
<string name="reply_here">"responde aquí… "</string>
<string name="user_suggestion_in_this_chat">En este chat</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copia el ID de la nota al portapapeles para compartirla en Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Copiar el ID del canal (nota) al portapapeles</string>
<string name="edits_the_channel_metadata">Edita los metadatos del canal</string>
<string name="join">Unirse</string>
<string name="known">Conocidos</string>
@@ -281,7 +246,6 @@
<string name="replies">Respuestas</string>
<string name="mutual">Tuyo</string>
<string name="gallery">Galería</string>
<string name="follows">"Seguidos"</string>
<string name="reports">"Reportes"</string>
<string name="number_reports">"%1$s informes"</string>
<string name="more_options">Más opciones</string>
@@ -289,11 +253,8 @@
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección de Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="copy_private_key_to_the_clipboard">Copiar la clave secreta al portapapeles</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copia la clave pública al portapapeles para compartirla</string>
<string name="copy_public_key_npub_to_the_clipboard">Copiar la clave pública (NPub) al portapapeles</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="follow">Seguir</string>
@@ -322,8 +283,6 @@
<string name="how_should_we_call_you">¿Cómo debemos llamarte?</string>
<string name="don_t_have_an_account">¿No tienes una cuenta de Nostr?</string>
<string name="already_have_an_account">¿Ya tienes una cuenta de Nostr?</string>
<string name="create_a_new_account">Crear una cuenta nueva</string>
<string name="generate_a_new_key">Generar una clave nueva</string>
<string name="loading_feed">Cargando feed</string>
<string name="loading_account">Cargando cuenta</string>
<string name="chats_history_proto_nip17">encriptado</string>
@@ -339,13 +298,7 @@
<string name="open_poll">Encuesta abierta</string>
<string name="feed_is_empty">El feed está vacío.</string>
<string name="refresh">Actualizar</string>
<string name="created">creado</string>
<string name="with_description_of">con la descripción de</string>
<string name="and_picture">e imagen</string>
<string name="changed_chat_name_to">cambió el nombre del chat a</string>
<string name="changed_chat_profile_to">Nuevo perfil de chat:</string>
<string name="description_to">descripción a</string>
<string name="and_picture_to">e imagen a</string>
<string name="leave">Salir</string>
<string name="unfollow">Dejar de seguir</string>
<string name="channel_created">Canal creado</string>
@@ -382,7 +335,6 @@
<string name="nip_05">Dirección de Nostr</string>
<string name="never">nunca</string>
<string name="now">ahora</string>
<string name="seconds">segundos</string>
<string name="h">h</string>
<string name="m">m</string>
<string name="d">d</string>
@@ -390,7 +342,6 @@
<string name="profanity_hateful_speech">Groserías o lenguaje que incita al odio</string>
<string name="report_hateful_speech">Reportar lenguaje que incita al odio</string>
<string name="report_nudity_porn">Reportar desnudos o pornografía</string>
<string name="others">otros</string>
<string name="mark_all_known_as_read">Marcar todos los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar todos los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
@@ -411,8 +362,6 @@
<string name="biometric_authentication_failed">Error de autenticación</string>
<string name="biometric_authentication_failed_explainer">El sistema biométrico no pudo autenticar al propietario de este teléfono</string>
<string name="biometric_authentication_failed_explainer_with_error">El sistema biométrico no pudo autenticar al propietario de este teléfono. Error: %1$s</string>
<string name="biometric_error">Error</string>
<string name="badge_created_by">"Creado por %1$s"</string>
<string name="badge_award_image_for">"Imagen de premio de insignia por %1$s"</string>
<string name="badge_award_image">\"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Recibiste un nuevo premio de insignia</string>
@@ -420,7 +369,6 @@
<string name="copied_note_text_to_clipboard">Texto de la nota copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub del autor copiado al portapapeles</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID de la nota (@note1) copiado al portapapeles</string>
<string name="select_text_dialog_top">Seleccionar texto</string>
<string name="private_conversation_notification">"&lt;Unable to decrypt private message&gt;\n\nTe citaron en una conversación privada o encriptada entre %1$s y %2$s."</string>
<string name="account_switch_add_account_dialog_title">Agregar cuenta nueva</string>
<string name="drawer_accounts">Cuentas</string>
@@ -432,8 +380,6 @@
<string name="account_switch_select_account">Seleccionar cuenta</string>
<string name="account_switch_add_account_btn">Agregar cuenta nueva</string>
<string name="account_switch_active_account">Cuenta activa</string>
<string name="account_switch_has_private_key">Tiene clave privada</string>
<string name="account_switch_pubkey_only">Solo de lectura, sin clave privada</string>
<string name="back">Volver</string>
<string name="quick_action_select">Seleccionar</string>
<string name="quick_action_share_browser_link">Compartir enlace del navegador</string>
@@ -454,14 +400,12 @@
<string name="quick_action_mute_thread">Silenciar hilo</string>
<string name="quick_action_unmute_thread">Reactivar hilo</string>
<string name="quick_action_report">Reportar</string>
<string name="quick_action_delete_button">Eliminar</string>
<string name="quick_action_dont_show_again_button">No mostrar de nuevo</string>
<string name="report_dialog_spam">Spam o estafas</string>
<string name="report_dialog_profanity">Groserías o conducta que incita al odio</string>
<string name="report_dialog_impersonation">Suplantación de identidad malintencionada</string>
<string name="report_dialog_nudity">Desnudez o contenido gráfico</string>
<string name="report_dialog_illegal">Comportamiento ilegal</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">Si bloqueas a un usuario, se ocultará su contenido en tu app. Tus notas todavía son visibles públicamente, incluso para las personas que bloquees. Los usuarios bloqueados aparecen en la pantalla \"Filtros de seguridad\".</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_dialog_report_btn">Reportar abuso</string>
@@ -489,7 +433,6 @@
<string name="schedule_post_pick_time">Elegir hora programada</string>
<string name="schedule_post_pick_label">Programación para…</string>
<string name="schedule_post_publishes_in">Se publica en %1$s</string>
<string name="schedule_post_was_due">Se venció hace %1$s</string>
<string name="schedule_post_picker_time_title">Hora</string>
<string name="schedule_post_button_add">Programar publicación</string>
<string name="schedule_post_button_remove">Cancelar programación</string>
@@ -564,7 +507,6 @@
<string name="new_community_relay_marker_author">Autor</string>
<string name="new_community_relay_marker_requests">Solicitudes</string>
<string name="new_community_relay_marker_approvals">Aprobaciones</string>
<string name="new_community_empty">Ninguna comunidad coincide con este filtro.</string>
<string name="new_community_rules_section">Reglas verificables (opcional)</string>
<string name="new_community_rules_hint">Publica un documento de reglas legibles automáticamente (NIP-9B) junto con la comunidad. Los clientes que lo admiten bloquean las publicaciones que no coinciden antes de enviarlas.</string>
<string name="new_community_rules_limits_save">Guardar límites</string>
@@ -629,7 +571,6 @@
<string name="nest_broadcast_connecting">Transmitir en vivo…</string>
<string name="nest_broadcast_failed">Transmisión fallida: %1$s</string>
<string name="nest_mute_failed">Error al silenciar: %1$s</string>
<string name="nest_record_permission_required">Se requiere acceso al micrófono para hablar en esta sala.</string>
<string name="nest_open_settings">Sin permisos</string>
<string name="nest_notification_channel">Nests</string>
<string name="nest_notification_channel_description">Mantiene la reproducción de audio mientras una sala está abierta.</string>
@@ -640,7 +581,6 @@
<string name="nest_join">Unirse a nest</string>
<string name="nest_lobby_host_label">Anfitrión</string>
<string name="nest_lobby_open_action">Abrir</string>
<string name="nest_lobby_recent_chat">Chat reciente</string>
<string name="nest_lobby_no_listeners">Nadie se encuentra en la sala en este momento.</string>
<string name="nest_lobby_listeners_count">%1$d escuchando</string>
<string name="nest_role_host">Anfitrión</string>
@@ -668,8 +608,6 @@
<string name="nest_tab_audience">Público</string>
<string name="nest_tab_hands">Manos</string>
<string name="nest_audience_empty">Todavía no hay nadie en el público.</string>
<string name="nest_chat_send">Enviar</string>
<string name="nest_chat_placeholder">Di algo…</string>
<string name="nest_chat_empty">Aún no hay mensajes. Sé el primero en chatear.</string>
<string name="nest_reactions_button">Reaccionar</string>
<string name="nest_edit_title">Editar sala</string>
@@ -686,7 +624,6 @@
<string name="nests_servers_explainer">Elige en qué servidores host de MoQ quieres que Amethyst publique tus nests. La primera entrada es predeterminada cuando creas un nuevo espacio.</string>
<string name="nests_servers_my_section">Tus servidores</string>
<string name="nests_servers_my_explainer">Guardado como un evento reemplazable para que otros clientes puedan leer tus preferencias.</string>
<string name="nests_servers_add_field">Agregar un servidor de nest</string>
<string name="nests_servers_add_relay_field">URL del relé (WebTransport)</string>
<string name="nests_servers_add_auth_field">URL de autenticación (generación de JWT)</string>
<string name="nests_servers_add_pair_button">Agregar</string>
@@ -707,9 +644,6 @@
<string name="bookmark_list_delete_btn_label">Eliminar lista de marcadores</string>
<string name="bookmark_list_posts_btn_label">Ver publicaciones</string>
<string name="bookmark_list_articles_btn_label">Ver artículos</string>
<string name="bookmark_list_links_btn_label">Ver enlaces</string>
<string name="bookmark_list_hashtags_btn_label">Ver hashtags</string>
<string name="bookmark_list_feed_empty_msg">Aún no tienes ninguna lista de marcadores. Toca el nuevo botón de abajo para crear una.</string>
<string name="private_posts_label">Publicaciones privadas</string>
<string name="private_posts_count">Publicaciones privadas(%1$s)</string>
<string name="public_posts_label">Publicaciones públicas</string>
@@ -720,16 +654,6 @@
<string name="bookmark_list_explainer">Los metadatos de las listas de marcadores son visibles para cualquier usuario de Nostr. Solo los miembros privados están cifrados.</string>
<string name="move_bookmark_to_public_label">Mover a público</string>
<string name="move_bookmark_to_private_label">Mover a privado</string>
<string name="wallet_connect_service">Servicio de conexión a billetera</string>
<string name="wallet_connect_service_explainer">Autoriza a un secreto de Nostr para pagar zaps sin salir de la app. Mantén el secreto seguro y usa un relé privado si es posible.</string>
<string name="wallet_connect_service_pubkey">Clave pública de conexión a billetera</string>
<string name="wallet_connect_service_relay">Relé de conexión a billetera</string>
<string name="wallet_connect_service_secret">Secreto de conexión a billetera</string>
<string name="wallet_connect_service_show_secret">Clave secreta de conexión a billetera</string>
<string name="wallet_connect_service_secret_placeholder">clave privada nsec / hex</string>
<string name="wallet_connect_status_connected">Conectada</string>
<string name="wallet_connect_status_not_connected">No conectada</string>
<string name="wallet_connect_manual_config">Avanzado: introduce manualmente los detalles de la conexión</string>
<string name="quick_zap_amounts">Cantidad de zap rápido</string>
<string name="quick_zap_amounts_explainer">Aparece al presionar el botón de zap. Toca una cantidad para eliminarla. Si la dejas vacía, se abrirá el cuadro de diálogo para introducir una cantidad cada vez.</string>
<string name="zap_privacy_section">Privacidad de zaps</string>
@@ -737,14 +661,8 @@
<string name="wallet_connect_connect_app">Conectar billetera</string>
<string name="see_relay_feed">Ver fuente de relés</string>
<string name="pledge_amount_in_sats">Destinar cantidad en sats</string>
<string name="post_poll">Publicar encuesta</string>
<string name="poll_heading_required">Campos obligatorios:</string>
<string name="poll_zap_recipients">Destinatarios de zaps</string>
<string name="poll_primary_description">Descripción de encuesta principal…</string>
<string name="poll_option">Opción</string>
<string name="poll_option_index">Opción %s</string>
<string name="poll_option_description">Descripción de opción de encuesta</string>
<string name="poll_heading_optional">Campos opcionales:</string>
<string name="poll_zap_value_min">Zap mínimo</string>
<string name="poll_zap_value_max">Zap máximo</string>
<string name="poll_consensus_threshold">Consenso</string>
@@ -753,11 +671,8 @@
<string name="poll_multiple_choice">Opción múltiple</string>
<string name="poll_closing_date_time">Fecha y hora de cierre de la encuesta</string>
<string name="poll_closing_in">La encuesta se cierra en %1$s</string>
<string name="poll_closing_time">Cerrar después de</string>
<string name="poll_closing_time_days">días</string>
<string name="poll_unable_to_vote">No se puede votar</string>
<string name="poll_is_closed_explainer">Encuesta cerrada para votos nuevos</string>
<string name="poll_zap_amount">Monto del zap</string>
<string name="one_vote_per_user_on_atomic_votes">Solo se permite un voto por usuario en este tipo de encuesta</string>
<string name="looking_for_event">"Buscando evento %1$s"</string>
<string name="send_zap">Enviar zap</string>
@@ -791,17 +706,12 @@
<string name="zap_type_nonzap">No zap</string>
<string name="zap_type_nonzap_explainer">No hay rastro en Nostr, solo en Lightning</string>
<string name="post_anonymously">Anónimo</string>
<string name="post_anonymously_explainer">Publicar como una nueva identidad temporal. Tu cuenta no quedará vinculada a esta respuesta.</string>
<string name="anonymous_reply_warning">Esta respuesta se publicará desde una nueva identidad anónima</string>
<string name="file_server">Servidor de archivos</string>
<string name="file_server_description">Elegir un servidor para subir este archivo</string>
<string name="zap_forward_lnAddress">Dirección o @usuario de Lightning</string>
<string name="media_servers">Servidores multimedia</string>
<string name="set_preferred_media_servers">Configura tus servidores preferidos para subir contenido multimedia.</string>
<string name="no_nip96_server_message">No tienes ningún servidor NIP-96 configurado. Puedes usar la lista de Amethyst o agregar uno de la lista a continuación ↓</string>
<string name="no_blossom_server_message">No tienes ningún servidor Blossom configurado. Puedes usar la lista de Amethyst o agregar uno de la lista a continuación ↓</string>
<string name="recommended_media_servers">Servidores multimedia recomendados</string>
<string name="built_in_media_servers_title">Servidores multimedia integrados</string>
<string name="built_in_servers_description">Lista predeterminada de Amethyst. Puedes agregarlos individualmente o añadir la lista.</string>
<string name="use_default_servers">Usar lista predeterminada</string>
<string name="add_media_server">Agregar servidor multimedia</string>
@@ -818,50 +728,21 @@
<string name="uploading_state_hashing">Cifrando</string>
<string name="uploading_state_finished">Listo</string>
<string name="uploading_state_error">Error</string>
<string name="upload_server_relays_nip95">Tus relés (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Los archivos están alojados en tus relés. Nuevo NIP: comprueba si son compatibles.</string>
<string name="privacy_options">Opciones de privacidad</string>
<string name="connect_via_tor_short">Configuración de Tor/Orbot</string>
<string name="connect_via_tor">Conéctate a través de tu configuración de Orbot</string>
<string name="connect_via_tor1">Ajustar</string>
<string name="connect_via_tor2">Configuración de Tor</string>
<string name="do_you_really_want_to_disable_tor_title">¿Desconectarse de tu Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Los datos se transferirán de inmediato en la red normal</string>
<string name="yes">Sí</string>
<string name="no">No</string>
<string name="follow_list_selection">Lista de seguidos</string>
<string name="follow_list_kind3follows">Todos los seguidos</string>
<string name="follow_list_kind3follows_proxy">Siguiendo a través de proxy</string>
<string name="follow_list_aroundme">A mi alrededor</string>
<string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Lista de silenciados</string>
<string name="follow_sets">Conjuntos de seguimiento</string>
<string name="labeled_bookmarks">Marcadores etiquetados</string>
<string name="general_bookmarks">Marcadores generales</string>
<string name="follow_set_type_public">Público</string>
<string name="follow_set_type_private">Privado</string>
<string name="follow_set_type_mixed">Mixto</string>
<string name="follow_set_empty_feed_msg"> Al parecer, aún no tienes ningún conjunto de seguimiento.
\nToca abajo para actualizar o toca los botones de agregar para crear uno nuevo.
</string>
<string name="follow_set_add_author_from_note_action">Agregar autor a conjunto de seguimiento</string>
<string name="follow_set_profile_actions_menu_description">Agregar o quitar usuario de las listas, o crear una nueva lista con este usuario.</string>
<string name="follow_set_private_members_header_label2">Miembros privados</string>
<string name="follow_set_public_members_header_label">Perfiles públicos</string>
<string name="follow_set_private_members_header_label">Perfiles privados</string>
<string name="follow_set_single_member_label">miembro</string>
<string name="follow_set_multiple_member_label">miembros</string>
<string name="follow_set_empty_label">Sin miembros</string>
<string name="follow_set_empty_label2">Vacío</string>
<string name="follow_set_absence_indicator">%1$s no se encuentra en esta lista</string>
<string name="follow_set_absence_indicator2">%1$s no es miembro</string>
<string name="follow_set_man_dialog_title2">Tus listas y %1$s</string>
<string name="follow_set_man_dialog_title">Tus conjuntos de seguimiento</string>
<string name="follow_set_empty_dialog_msg">No se han encontrado conjuntos de seguimiento, o no tienes ningún conjunto de seguimiento. Toca abajo para actualizar o utiliza el menú para crear uno.</string>
<string name="follow_set_error_dialog_msg">Hubo un problema al recuperar: %1$s</string>
<string name="follow_set_creation_menu_title">Crear nueva lista</string>
<string name="follow_set_creation_item_label">Nueva lista con membresía de %1$s</string>
<string name="follow_set_creation_item_description">Crea un nuevo conjunto de seguimiento y añade a %1$s como miembro de %2$s.</string>
<string name="follow_set_creation_dialog_title">Nueva lista de seguimiento</string>
<string name="follow_pack_creation_dialog_title">Nuevo paquete de seguimiento</string>
<string name="follow_set_copy_dialog_title">Copiar/Clonar lista de seguimiento</string>
@@ -881,14 +762,6 @@
<string name="follow_set_rename_dialog_indicator_first_part">Estás cambiando el nombre de </string>
<string name="follow_set_rename_dialog_indicator_second_part"> a..</string>
<string name="connect_through_your_orbot_setup_short">El puerto predeterminado es 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Conéctate a través de Tor con Orbot
\n\n1. Instala [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android).
\n2. Inicia Orbot.
\n3. En Orbot, comprueba el puerto Socks. La opción predeterminada es 9050.
\n4. Si es necesario, cambia el puerto en Orbot.
\n5. Configura el puerto Socks en la pantalla.
\n6. Presiona y activa el botón para usar Orbot como proxy.
</string>
<string name="orbot_socks_port">Puerto Socks de Orbot</string>
<string name="use_internal_tor">Motor de Tor activo</string>
<string name="use_internal_tor_explainer">Usar la versión interna u Orbot</string>
@@ -930,8 +803,6 @@
<string name="tor_full_privacy_explainer">Ocultar su IP en todas las conexiones</string>
<string name="tor_custom_explainer">Crea el tuyo</string>
<string name="invalid_port_number">Número de puerto inválido</string>
<string name="use_orbot">Usar Orbot</string>
<string name="disconnect_from_your_orbot_setup">Desconectar Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Mensajes privados</string>
<string name="app_notification_dms_channel_description">Te notifica cuando llega un mensaje privado</string>
<string name="app_notification_zaps_channel_name">Zaps recibidos</string>
@@ -963,23 +834,12 @@
<string name="call_bluetooth">Bluetooth</string>
<string name="call_voice">Llamada de voz</string>
<string name="reply_notify">Notificar: </string>
<string name="channel_list_join_conversation">Unirse a la conversación</string>
<string name="channel_list_user_or_group_id">ID de usuario o grupo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent o hexadecimal</string>
<string name="channel_list_create_channel">Crear</string>
<string name="channel_list_join_channel">Unirse</string>
<string name="today">Hoy</string>
<string name="content_warning">Advertencia de contenido</string>
<string name="content_warning_explanation">Esta publicación incluye contenido delicado que algunas personas pueden considerar ofensivo o perturbador.</string>
<string name="content_warning_hide_all_sensitive_content">Ocultar siempre el contenido delicado</string>
<string name="content_warning_show_all_sensitive_content">Mostrar siempre el contenido delicado</string>
<string name="content_warning_see_warnings">Mostrar siempre advertencias sobre contenido</string>
<string name="content_warning_hide_all_sensitive_content_option">Ocultar</string>
<string name="content_warning_show_all_sensitive_content_option">Mostrar</string>
<string name="content_warning_see_warnings_option">Advertir</string>
<string name="recommended_apps">Recomendaciones:</string>
<string name="filter_spam_from_strangers">Filtrar el spam de desconocidos</string>
<string name="warn_when_posts_have_reports_from_your_follows">Avisar cuando las publicaciones tengan reportes de tus seguidos</string>
<string name="filter_spam_from_strangers_title">Filtrar spam</string>
<string name="filter_spam_from_strangers_explainer">Oculta las publicaciones de desconocidos que sean exactamente iguales 5 o más veces.</string>
<string name="warn_when_posts_have_reports_from_your_follows_title">Advertir sobre reportes</string>
@@ -996,18 +856,15 @@
<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>
<string name="software">Software</string>
<string name="contact">Contacto</string>
<string name="supports">NIP compatibles</string>
<string name="supported_grasps">Grasps compatibles</string>
<string name="admission_fees">Tarifas de admisión</string>
<string name="admission">Admisión</string>
<string name="subscription">Suscripción</string>
<string name="publication">Publicación</string>
<string name="payment_link">Pagos %1$s</string>
<string name="payments_url">URL de pagos</string>
<string name="target_audience">Público objetivo</string>
<string name="policies_and_links">Políticas y enlaces</string>
@@ -1015,7 +872,6 @@
<string name="limitations">Limitaciones</string>
<string name="countries">Países</string>
<string name="languages">Idiomas</string>
<string name="tags">Etiquetas</string>
<string name="topics">Temas</string>
<string name="all_countries">Todos los países</string>
<string name="all_languages">Todos los idiomas</string>
@@ -1028,48 +884,34 @@
<string name="relay_monitor_rtt_open">Abrir</string>
<string name="relay_monitor_rtt_read">Leer</string>
<string name="relay_monitor_rtt_write">Escribir</string>
<string name="relay_monitor_rtt">RTT</string>
<string name="relay_monitor_network">Red</string>
<string name="relay_monitor_relay_type">Tipo</string>
<string name="relay_monitor_supported_nips">NIP compatibles</string>
<string name="relay_monitor_requirements">Requisitos</string>
<string name="relay_monitor_last_check">Última comprobación</string>
<string name="relay_monitor_ms">%1$d ms</string>
<string name="relay_discovery_accepted_kinds">Kinds aceptados</string>
<string name="relay_active_subscriptions">Suscripciones activas</string>
<string name="relay_active_outbox">Eventos de outbox pendientes</string>
<string name="relay_req_subscriptions">Suscripciones REQ (%1$d)</string>
<string name="relay_count_subscriptions">Suscripciones COUNT (%1$d)</string>
<string name="message_length">Longitud del mensaje</string>
<string name="subscriptions">Suscripciones</string>
<string name="filters">Filtros</string>
<string name="subscription_id_length">Longitud del ID de la suscripción</string>
<string name="minimum_prefix">Prefijo mínimo</string>
<string name="maximum_event_tags">Etiquetas de evento máximas</string>
<string name="content_length">Longitud del contenido</string>
<string name="event_retention">Retención de eventos</string>
<string name="content_size">Tamaño de contenido</string>
<string name="connectivity">Conectividad</string>
<string name="access_control">Control de acceso</string>
<string name="minimum_pow">PoW mínima</string>
<string name="auth">Autenticación</string>
<string name="auth_required">Se requiere autorización</string>
<string name="payment">Pago</string>
<string name="payment_required">Se requiere pago</string>
<string name="max_message_length">Longitud máxima del mensaje</string>
<string name="max_subs">Suscripciones máximas</string>
<string name="max_filters_per_sub">Filtros máximos por suscripción</string>
<string name="max_limit_events_returning">Límite máximo (devolución de eventos)</string>
<string name="default_limit">Límite predeterminado (devolución de eventos)</string>
<string name="max_subid_length">Longitud máxima de subID</string>
<string name="cashu">Token de Cashu</string>
<string name="cashu_redeem">Canjear</string>
<string name="cashu_redeem_to_zap">Enviar a billetera de zaps</string>
<string name="cashu_redeem_to_cashu">Abrir en billetera de Cashu</string>
<string name="cashu_copy_token">Copiar token</string>
<string name="quick_actions_open_in_another_app">Abrir en otra app</string>
<string name="no_lightning_address_set">La dirección de Lightning no está configurada</string>
<string name="copied_token_to_clipboard">Token copiado al portapapeles</string>
<string name="live_stream_live_tag">EN VIVO</string>
<string name="live_stream_offline_tag">FUERA DE LÍNEA</string>
<string name="live_stream_ended_tag">TERMINÓ</string>
@@ -1109,7 +951,6 @@
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="danger_zone">Zona peligrosa</string>
<string name="connectivity_type_always">Siempre</string>
<string name="connectivity_type_wifi_only">Solo Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi sin medición</string>
<string name="connectivity_type_never">Nunca</string>
<string name="ui_feature_set_type_complete">Completo</string>
@@ -1133,7 +974,6 @@
<string name="ui_style_description">Elegir el estilo de publicación</string>
<string name="gallery_style">Estilo de galería de perfil</string>
<string name="gallery_style_description">Elige el estilo de galería</string>
<string name="load_image">Cargar imagen</string>
<string name="spamming_users">Spammers</string>
<string name="muted_button">Silenciado. Hacer clic para reactivar el sonido.</string>
<string name="mute_button">Sonido activado. Hacer clic para silenciar.</string>
@@ -1144,28 +984,19 @@
<string name="nip05_verified">La dirección de Nostr se verificó</string>
<string name="nip05_failed">No se pudo verificar la dirección de Nostr</string>
<string name="nip05_checking">Verificando dirección de Nostr</string>
<string name="select_deselect_all">Seleccionar o deseleccionar todo</string>
<string name="default_relays">Predeterminados</string>
<string name="default_relays_longer">Restablecer valores predeterminados</string>
<string name="select_a_relay_to_continue">Seleccionar un relé para continuar</string>
<string name="zap_forward_title">Reenviar zaps a:</string>
<string name="zap_forward_explainer">Los clientes compatibles reenviarán los zaps a la dirección de Lightning o al perfil de usuario indicados a continuación en lugar de a los tuyos.</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_exclusive">Publicación con ubicación exclusiva</string>
<string name="geohash_exclusive_explainer">Solo los seguidores de la ubicación la verán. Tus seguidores generales no la verán.</string>
<string name="hashtag_exclusive">Publicación exclusiva de hashtag</string>
<string name="hashtag_exclusive_explainer">Solo los seguidores del hashtag la verán. Tus seguidores generales no la verán.</string>
<string name="loading_location">Cargando ubicación</string>
<string name="lack_location_permissions">Sin permisos de ubicación</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_description_placeholder">Motivo (opcional)</string>
<string name="new_feature_nip17_might_not_be_available_title">Función nueva</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_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_description">Nuevo grupo público o privado</string>
<string name="messages_relay_based">Relé</string>
<string name="messages_new_message">Privado</string>
<string name="messages_new_message_to">Para</string>
<string name="messages_new_message_subject">Asunto</string>
@@ -1177,14 +1008,12 @@
<string name="messages_new_subject_message">Explicación para los miembros</string>
<string name="messages_new_subject_message_placeholder">Cambio de nombre para los nuevos objetivos.</string>
<string name="paste_from_clipboard">Pegar desde el portapapeles</string>
<string name="connect_to_new_nwc_wallet">Conectar a nueva billetera NWC</string>
<string name="couldnt_find_nwc_wallets">Billetera no encontrada</string>
<string name="language_description">Para la interfaz de la aplicación</string>
<string name="theme_description">Tema oscuro, claro o del sistema</string>
<string name="automatically_load_images_gifs_description">Cargar automáticamente imágenes y GIF</string>
<string name="automatically_play_videos_description">Reproducir automáticamente videos y GIF</string>
<string name="automatically_show_url_preview_description">Mostrar vistas previas de URL</string>
<string name="load_image_description">Cuándo cargar imágenes</string>
<string name="copy_stack_to_clipboard">Copiar stack</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="copy_npub_to_clipboard">Copiar npub al portapapeles</string>
@@ -1195,46 +1024,24 @@
<string name="media_added">Contenido multimedia agregado</string>
<string name="media_added_to_profile_gallery">Contenido multimedia agregado a la galería del perfil</string>
<string name="created_at">Creado</string>
<string name="rules">Reglas</string>
<string name="login_with_external_signer">Iniciar sesión con Amber</string>
<string name="status_update">Actualiza tu estado</string>
<string name="lightning_wallets_not_found">Error al analizar el mensaje de error</string>
<string name="poll_zap_value_min_max_explainer">Los votos se calculan según la cantidad de zaps. Puedes establecer una cantidad mínima para evitar spammers y una máxima para que los zappers grandes no puedan dominar la encuesta. Usa la misma cantidad en ambos campos para asegurarte de que cada voto tenga el mismo valor. Déjalos vacíos para aceptar cualquier cantidad.</string>
<string name="error_dialog_zap_error">No se pudo enviar el zap</string>
<string name="error_dialog_talk_to_user">Mensaje para el usuario</string>
<string name="error_dialog_talk_to_user_name">Mensaje %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Error al ensamblar la url NIP-11 para %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">No se pudo contactar %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Error al analizar la respuesta de %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">El relé rechazó la solicitud %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Error al analizar el resultado de %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s falló con el código %2$s</string>
<string name="active_for">Activo para: </string>
<string name="active_for_home">Inicio</string>
<string name="active_for_msg">Mensajes directos</string>
<string name="active_for_chats">Chats</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Búsqueda</string>
<string name="zap_split_title">Dividir y reenviar zaps</string>
<string name="zap_split_explainer">Los clientes compatibles dividirán y reenviarán los zaps a los usuarios que se agreguen aquí en lugar de a ti.</string>
<string name="zap_split_search_and_add_user">Buscar y agregar usuario</string>
<string name="zap_split_search_and_add_user_placeholder">Nombre de usuario o para mostrar</string>
<string name="missing_lud16">Lightning no está configurado</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario %1$s no tiene una dirección de Lightning configurada para recibir sats.</string>
<string name="zap_split_weight">Porcentaje</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Dividir zaps con</string>
<string name="forwarding_zaps_to">Reenviar zaps a</string>
<string name="lightning_wallets_not_found2">No se encontraron billeteras de Lightning</string>
<string name="paid">Pagado</string>
<string name="wallet_number">Billetera %1$s</string>
<string name="error_opening_external_signer">Error al abrir la aplicación firmante</string>
<string name="error_opening_external_signer_description">No se pudo encontrar la aplicación firmante. Comprueba si no se desinstaló la aplicación.</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="no_wallet_found_with_error">No se encontraron billeteras para pagar una factura de Lightning (error: %1$s). Instala una billetera de Lightning para usar zaps.</string>
<string name="no_wallet_found">No se encontraron billeteras para pagar una factura de Lightning. Instala una billetera de Lightning para usar zaps.</string>
@@ -1245,36 +1052,19 @@
<string name="select_an_option">Seleccionar una opción</string>
<string name="error_dialog_pay_invoice_error">No se pudo pagar la factura</string>
<string name="error_dialog_pay_withdraw_error">No se pudo retirar</string>
<string name="error_parsing_nip47_title">No se pudo configurar Wallet Connect</string>
<string name="error_parsing_nip47">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor de la billetera: %1$s. Error: %2$s</string>
<string name="error_parsing_nip47_no_error">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor de la billetera: %1$s.</string>
<string name="cashu_failed_redemption">No se pudo canjear Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">La Mint proporcionó el siguiente mensaje de error: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Los tokens de Cashu ya se gastaron.</string>
<string name="cashu_successful_redemption">Cashu recibido</string>
<string name="cashu_successful_redemption_explainer">Se enviaron %1$s sats a tu billetera (comisión: %2$s sats).</string>
<string name="cashu_no_wallet_found">No se encontró ninguna billetera de Cashu compatible en el sistema</string>
<string name="error_unable_to_fetch_invoice">No se puede obtener la factura de los servidores del destinatario</string>
<string name="wallet_connect_pay_invoice_error_error">El proveedor de conexión de billetera devolvió el siguiente error: %1$s</string>
<string name="could_not_connect_to_tor">No se pudo conectar a Tor</string>
<string name="unable_to_download_relay_document">No está disponible la descarga de documentos del relé</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning \"%1$s\". Comprueba la configuración del usuario.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="could_not_fetch_invoice_from">No se pudo obtener la factura de %1$s</string>
<string name="could_not_fetch_invoice_from_details">No se pudo obtener la factura de %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Error al analizar JSON desde la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">No se encontró la URL de devolución de llamada en la configuración del servidor de la dirección de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">No se encontró la URL de devolución de llamada en la respuesta de %1$s.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Error al analizar JSON desde la recuperación de factura de la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Cantidad de factura incorrecta (%1$s sats) de %2$s. Debería haber sido %3$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">No se pudo crear una factura de Lightning antes de enviar el zap. La billetera de Lightning del destinatario envió el siguiente error: %1$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">No se pudo crear una factura de Lightning antes de enviar el zap. No se encontró el elemento pr en el JSON resultante.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
<string name="read_only_user">Usuario de solo lectura</string>
<string name="no_reactions_setup">No hay reacciones configuradas</string>
<string name="select_push_server">Seleccionar una aplicación UnifiedPush</string>
@@ -1292,13 +1082,11 @@
<string name="send_the_seller_a_message">Envía un mensaje al vendedor</string>
<string name="hi_seller_is_this_still_available">Hola, %1$s, ¿esto todavía está disponible?</string>
<string name="hi_there_is_this_still_available">Hola, ¿esto todavía está disponible?</string>
<string name="classifieds">Vender un artículo</string>
<string name="classifieds_title">Título</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Estado</string>
<string name="classifieds_category">Categoría</string>
<string name="classifieds_price">Precio (en sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Ubicación</string>
<string name="classifieds_location_placeholder">Ciudad, estado, país.</string>
<string name="classifieds_condition_new">Nuevo</string>
@@ -1327,20 +1115,13 @@
<string name="classifieds_category_other">Otros</string>
<string name="failed_to_upload_media_no_details">Error al subir contenido multimedia</string>
<string name="could_not_open_the_compressed_file">No se pudo abrir el archivo comprimido</string>
<string name="error_when_compressing_media">Error al comprimir el contenido multimedia: %1$s</string>
<string name="failed_to_upload_media">Error de subida: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">El servidor no proporcionó una URL después de la subida</string>
<string name="could_not_download_from_the_server">No se pudo descargar el contenido subido desde el servidor</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de subir: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">No se pudo preparar el archivo local para subir: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Error al subir a %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Error al subir: %1$s</string>
<string name="failed_to_delete_with_message">Error al eliminar: %1$s</string>
<string name="media_too_big_for_nip95">El contenido multimedia es demasiado grande para NIP-95</string>
<string name="unable_to_load_thumbnail">No se puede subir imagen en miniatura</string>
<string name="could_not_prepare_header">No se pudo preparar la información del encabezado: %1$s</string>
<string name="compression_cancelled">Compresión cancelada</string>
<string name="compression_returned_null">La compresión no pudo devolver un archivo</string>
<string name="failed_to_upload_encrypted_media_message">Muchos servidores no aceptan archivos cifrados en cuentas gratuitas. Puedes volver a intentarlo sin cifrado.</string>
<string name="retry_without_encryption">Reintentar sin cifrado</string>
<string name="upload_without_encryption_warning">Advertencia: Sin cifrado, cualquiera con el enlace del archivo puede ver el contenido.</string>
@@ -1354,34 +1135,25 @@
<string name="video_codec_h265_description">Mejor calidad en tamaños de archivos más pequeños, pero no todos los dispositivos admiten la reproducción H.265.</string>
<string name="edit_draft">Editar borrador</string>
<string name="login_with_qr_code">Iniciar sesión con código QR</string>
<string name="route">Ruta</string>
<string name="route_home">Inicio</string>
<string name="route_search">Buscar</string>
<string name="route_discover">Descubrir</string>
<string name="route_messages">Mensajes</string>
<string name="route_notifications">Notificaciones</string>
<string name="route_global">Global</string>
<string name="route_video">Cortos</string>
<string name="route_chess">Ajedrez</string>
<string name="wallet">Billetera</string>
<string name="wallet_balance">Saldo</string>
<string name="wallet_send">Enviar</string>
<string name="wallet_receive">Recibir</string>
<string name="wallet_transactions">Transacciones</string>
<string name="wallet_no_connection">No hay billetera conectada</string>
<string name="wallet_no_connection_description">Configure una conexión de Nostr Wallet Connect (NWC) en la configuración de zaps para usar la billetera.</string>
<string name="wallet_setup">Configurar billetera</string>
<string name="wallet_sats">sats</string>
<string name="wallet_paste_invoice">Pegar una factura BOLT-11</string>
<string name="wallet_pay">Pagar</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">Filtros de seguridad</string>
<string name="route_import_follows">Importar seguidos</string>
<string name="new_post">Nueva publicación</string>
<string name="new_short">Nuevos cortos: imágenes o videos</string>
<string name="new_community_note">Nueva nota comunitaria</string>
<string name="new_product">Nuevo producto</string>
<string name="new_exclusive_geo_note">Nueva publicación geoexclusiva</string>
<string name="open_all_reactions_to_this_post">Abrir todas las reacciones a esta publicación</string>
<string name="close_all_reactions_to_this_post">Cerrar todas las reacciones a esta publicación</string>
<string name="reply_description">Responder</string>
@@ -1407,29 +1179,22 @@
<string name="relay_info">Relé %1$s</string>
<string name="expand_relay_list">Ampliar lista de relés</string>
<string name="note_options">Opciones de notas</string>
<string name="relay_list_selector">Selector de lista de relés</string>
<string name="poll">Encuesta</string>
<string name="disable_poll">Desactivar encuesta</string>
<string name="add_bitcoin_invoice">Factura de Bitcoin</string>
<string name="cancel_bitcoin_invoice">Cancelar factura de Bitcoin</string>
<string name="cancel_classifieds">Cancelar la venta de un artículo</string>
<string name="add_zapraiser">Recaudación de zaps</string>
<string name="cancel_zapraiser">Cancelar zapraiser</string>
<string name="add_location">Ubicación</string>
<string name="remove_location">Eliminar ubicación</string>
<string name="add_zap_split">Divisiones de zaps</string>
<string name="cancel_zap_split">Cancelar división de zap</string>
<string name="add_content_warning">Agregar advertencia de contenido</string>
<string name="remove_content_warning">Eliminar advertencia de contenido</string>
<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_examples2">Algunas buenas opciones son:\n - auth.nostr1.com (free)\n - inbox.nostr.wine (paid)\n - relay.0xchat.com (free)</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>
@@ -1438,7 +1203,6 @@
<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="dm_upload">Subida de mensaje directo</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>
@@ -1448,12 +1212,8 @@
<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="connected_section">Relés conectados</string>
<string name="connected_section_description">Lista actual de relés en uso</string>
<string name="kind_3_recommended_section">Relés recomendados</string>
<string name="kind_3_recommended_section_description">Agrega los siguientes relés a la lista de relés generales para recibir publicaciones de los usuarios de la lista.</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>
@@ -1480,11 +1240,8 @@
<string name="this_version_brought_to_you_by">Esta versión fue posible gracias a:</string>
<string name="version_name">Versión %1$s</string>
<string name="thank_you">¡Gracias!</string>
<string name="max_limit">Límite máximo</string>
<string name="restricted_writes">Escrituras restringidas</string>
<string name="forked_from">Bifurcación de</string>
<string name="forked_tag">BIFURCACIÓN</string>
<string name="git_repository">Repositorio Git: %1$s</string>
<string name="git_web_address">Web:</string>
<string name="git_clone_address">Clon:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -1492,20 +1249,13 @@
<string name="ots_info_description">Hay prueba de que esta publicación se firmó en algún momento antes de %1$s. La prueba se marcó en la cadena de bloques de Bitcoin en esa fecha y hora.</string>
<string name="edit_post">Editar publicación</string>
<string name="proposal_to_edit">Propuesta para mejorar una publicación</string>
<string name="message_to_author">Resumen de cambios</string>
<string name="message_to_author_placeholder">Correcciones rápidas…</string>
<string name="accept_the_suggestion">Aceptar la sugerencia</string>
<string name="enter_picture_in_picture">Iniciar video en una ventana emergente</string>
<string name="accessibility_download_for_offline">Descargar</string>
<string name="accessibility_lyrics_on">Letra activada</string>
<string name="accessibility_lyrics_off">Letra desactivada</string>
<string name="accessibility_turn_on_sealed_message">Mensaje sellado desactivado. Haz clic para activar el mensaje sellado.</string>
<string name="accessibility_turn_off_sealed_message">Mensaje sellado activado. Haz clic para desactivar el mensaje sellado.</string>
<string name="accessibility_send">Enviar</string>
<string name="accessibility_play_username">Reproducir nombre de usuario como audio</string>
<string name="accessibility_pushpin">Marcador</string>
<string name="accessibility_scan_qr_code">Escanear código QR</string>
<string name="accessibility_navigate_to_alby">Ir al proveedor externo de billeteras Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">No es posible responder a un borrador de nota</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">No es posible citar un borrador de nota</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">No es posible reaccionar a un borrador de nota</string>
@@ -1546,28 +1296,23 @@
<string name="http_status_507">Almacenamiento insuficiente: el servidor no dispone de almacenamiento suficiente para procesar correctamente la solicitud.</string>
<string name="http_status_508">Bucle detectado: el servidor detecta un bucle infinito al procesar la solicitud.</string>
<string name="http_status_511">Autenticación de red requerida: el cliente debe estar autenticado para acceder a la red.</string>
<string name="media_servers_nip96_section">Servidores NIP-96</string>
<string name="media_servers_nip96_explainer">Agrega tantos servidores como quieras. Puedes elegir cuál usar más tarde al subir tu foto.</string>
<string name="media_servers_blossom_section">Servidores Blossom</string>
<string name="media_servers_blossom_explainer">Agrega tantos servidores como quieras. Puedes elegir cuál usar más tarde al subir tu foto.</string>
<string name="add_a_nip96_server">Agregar servidor NIP-96</string>
<string name="add_a_blossom_server">Agregar un servidor Blossom</string>
<string name="delete_all">Borrar todo</string>
<string name="delete_all_drafts_confirmation">¿Seguro quieres eliminar todos los borradores?</string>
<string name="stack">Stack:</string>
<string name="torrent_file">Archivo torrent</string>
<string name="torrent_download">Descargar</string>
<string name="torrent_failure">Error al abrir el archivo</string>
<string name="torrent_no_apps">No hay aplicaciones torrent instaladas para abrir y descargar el archivo.</string>
<string name="torrent_no_info">El evento no tiene suficiente información para crear un enlace magnético</string>
<string name="my_lists_and_sets">Mis listas/conjuntos</string>
<string name="select_list_to_filter">Selecciona una lista para filtrar el feed</string>
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<string name="temporary_account">Cerrar sesión al bloquear dispositivo</string>
<string name="private_message">Mensaje privado</string>
<string name="public_message">Mensaje público</string>
<string name="group_relay">Relé de chat</string>
<string name="group_relay_explanation">Relé al que todos los usuarios de este chat se conectan</string>
<string name="share_image">Compartir imagen…</string>
<string name="search_by_hashtag">Buscar hashtag: #%1$s</string>
<string name="dont_translate_from">No traducir del</string>
@@ -1583,4 +1328,10 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
</resources>
+6 -255
View File
@@ -32,8 +32,6 @@
<string name="other">Otro</string>
<string name="harassment">Acoso</string>
<string name="violence">Violencia</string>
<string name="unknown">Desconocido</string>
<string name="relay_icon">Ícono de relé</string>
<string name="unknown_author">Autor desconocido</string>
<string name="copy_text">Copiar texto</string>
<string name="copy_user_pubkey">Copiar ID del autor</string>
@@ -48,12 +46,9 @@
<string name="block_hide_user"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_spam_scam">Reportar spam o estafa</string>
<string name="report_impersonation">Reportar suplantación de identidad</string>
<string name="report_explicit_content">Reportar contenido explícito</string>
<string name="report_illegal_behaviour">Reportar comportamiento ilegal</string>
<string name="report_malware">Reportar malware</string>
<string name="report_mod">Reportar mod</string>
<string name="malware">Malware</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder responder</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para poder impulsar publicaciones</string>
<string name="login_with_a_private_key_to_like_posts">Estás usando una clave pública, que es solo de lectura. Inicia sesión con una clave privada para indicar que te gustan las publicaciones.</string>
@@ -73,10 +68,8 @@
<string name="unauthorized_exception_description">El firmante no autorizó un descifrado necesario para realizar esta operación. Activa el descifrado NIP-44 en tu aplicación de firmante e inténtalo de nuevo</string>
<string name="signer_not_found_exception">No se ha encontrado el firmante.</string>
<string name="signer_not_found_exception_description">¿Se desinstaló la app del firmante? Comprueba si el firmante está instalado y tiene esta cuenta. Cierra sesión y vuelve a iniciar sesión en la app del firmante si cambió.</string>
<string name="signer_illegal_state_exception">Fallo en el comportamiento del firmante</string>
<string name="signer_illegal_state_exception_description">El firmante externo devolvió una carga útil que no concuerda con la solicitud. Es posible que haya un error, ya sea en Amethyst o en el firmante.</string>
<string name="zaps">Zaps</string>
<string name="view_count">Total vistas</string>
<string name="boost">Impulsar</string>
<string name="boosted">Impulsada</string>
<string name="edited">editada</string>
@@ -89,9 +82,7 @@
<string name="add">Agregar</string>
<string name="replying_to">"respondiendo a "</string>
<string name="and">" y "</string>
<string name="in_channel">"en el canal "</string>
<string name="profile_banner">Banner del perfil</string>
<string name="payment_successful">El pago se realizó correctamente</string>
<string name="error_parsing_error_message">Error al analizar el mensaje de error</string>
<string name="following">" Siguiendo"</string>
<string name="followers">" Seguidores"</string>
@@ -164,7 +155,6 @@
<string name="send_payment_cashu_insufficient">No hay suficiente saldo en una moneda que acepte este destinatario. Recarga tu billetera de Cashu primero.</string>
<string name="send_payment_cashu_balance">Disponible para este destinatario: %1$s sats</string>
<string name="send_payment_onchain_fee">Comisión de red</string>
<string name="send_payment_external_wallet">tu app de billetera</string>
<string name="send_payment_onchain_txid">Transacción: %1$s</string>
<string name="lightning_tips">Propinas mediante Lightning</string>
<string name="note_to_receiver">Nota para el destinatario</string>
@@ -178,16 +168,13 @@
<string name="secret_visible_text">Prefijo visible</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Agregar a publicación</string>
<string name="error_parsing_preview_for">"Error al analizar la vista previa de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Vista previa de imagen de tarjeta para %1$s"</string>
<string name="article">Artículo</string>
<string name="new_channel">Nuevo canal</string>
<string name="channel_name">Nombre del canal</string>
<string name="my_awesome_group">Mi grupo genial</string>
<string name="picture_url">URL de imagen</string>
<string name="optional_picture_url">Url de imagen (opcional)</string>
<string name="description">Descripción</string>
<string name="no_description">No se encontró la descripción</string>
<string name="about_us">"Quiénes somos…"</string>
<string name="what_s_on_your_mind">¿Qué estás pensando?</string>
<string name="write_a_message">Escribir un mensaje…</string>
@@ -197,42 +184,25 @@
<string name="create">Crear</string>
<string name="rename">Cambiar nombre</string>
<string name="cancel">Cancelar</string>
<string name="failed_to_upload_the_image">Error al subir la imagen</string>
<string name="relay_address">Dirección del relé</string>
<string name="posts">Publicaciones</string>
<string name="bytes">Bytes</string>
<string name="error">Error</string>
<string name="errors">Errores</string>
<string name="connection_success_rate_description">Porcentaje de conexiones exitosas al relé</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>
<string name="global_feed">Feed global</string>
<string name="search_feed">Feed de búsqueda</string>
<string name="search_and_add_a_user">Buscar y agregar usuario</string>
<string name="add_a_user">Agregar un usuario</string>
<string name="add_a_relay">Agregar un relé</string>
<string name="profile_name">Nombre</string>
<string name="profile_name_with_explainer">Nombre (para @etiquetar)</string>
<string name="my_name">Mi nombre de @etiqueta</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="my_awesome_name">Avestruz Maravillosa</string>
<string name="welcome">¡Te damos la bienvenida, Avestruz!</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Quién soy</string>
<string name="avatar_url">URL del avatar</string>
<string name="banner_url">URL del banner</string>
<string name="website_url">URL del sitio web</string>
<string name="pronouns">Pronombres</string>
<string name="ln_address">Dirección de Lightning</string>
<string name="ln_url_outdated">URL de Lightning (obsoleta)</string>
<string name="stale_relay_hint_label">Los relés de origen pueden ser obsoletos</string>
<string name="stale_relay_hint_icon_description">Aviso de relé obsoleto</string>
<string name="download_to_phone">Guardar en el teléfono</string>
<string name="save_to_gallery">Guardar en la galería</string>
<string name="image_saved_to_the_gallery">Imagen guardada en la galería</string>
<string name="video_download_has_started_toast">Comenzó la descarga del video…</string>
<string name="media_download_has_started_toast">Comenzó la descarga del contenido multimedia…</string>
@@ -248,15 +218,12 @@
<string name="upload_file">Subir archivo</string>
<string name="take_a_picture">Tomar una foto</string>
<string name="record_a_message">Grabar un mensaje</string>
<string name="record_a_message_title">Grabar un mensaje</string>
<string name="record_a_message_description">Haz clic y mantén presionado para grabar un mensaje</string>
<string name="re_record">Volver a grabar</string>
<string name="recording_indicator_description">Grabación</string>
<string name="recording_indicator_with_time">Grabando %1$s</string>
<string name="uploading">Subiendo…</string>
<string name="upload_error_title">Error de carga</string>
<string name="upload_error_voice_message_failed">Error al cargar el mensaje de voz</string>
<string name="upload_error_voice_message_unexpected_state">Estado inesperado de carga</string>
<string name="upload_error_voice_message_nip95_not_supported">NIP-95 aún no es compatible con mensajes de voz</string>
<string name="upload_error_voice_message_exception">Error al cargar voz: %1$s</string>
<string name="voice_preset_none">Ninguna</string>
@@ -268,8 +235,6 @@
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario no tiene configurada una dirección de Lightning para recibir sats</string>
<string name="reply_here">"responde aquí… "</string>
<string name="user_suggestion_in_this_chat">En este chat</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copia el ID de la nota al portapapeles para compartirla en Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Copiar el ID del canal (nota) al portapapeles</string>
<string name="edits_the_channel_metadata">Edita los metadatos del canal</string>
<string name="join">Unirse</string>
<string name="known">Conocidos</string>
@@ -281,7 +246,6 @@
<string name="replies">Respuestas</string>
<string name="mutual">Tuyo</string>
<string name="gallery">Galería</string>
<string name="follows">"Seguidos"</string>
<string name="reports">"Reportes"</string>
<string name="number_reports">"%1$s informes"</string>
<string name="more_options">Más opciones</string>
@@ -289,11 +253,8 @@
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección de Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia el ID Nsec (tu contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="copy_private_key_to_the_clipboard">Copiar la clave secreta al portapapeles</string>
<string name="show_private_key_qr_code">Mostrar código QR de clave privada</string>
<string name="show_encrypted_private_key_qr_code">Mostrar código QR de clave privada cifrada</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copia la clave pública al portapapeles para compartirla</string>
<string name="copy_public_key_npub_to_the_clipboard">Copiar la clave pública (NPub) al portapapeles</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="follow">Seguir</string>
@@ -322,8 +283,6 @@
<string name="how_should_we_call_you">¿Cómo debemos llamarte?</string>
<string name="don_t_have_an_account">¿No tienes una cuenta de Nostr?</string>
<string name="already_have_an_account">¿Ya tienes una cuenta de Nostr?</string>
<string name="create_a_new_account">Crear una cuenta nueva</string>
<string name="generate_a_new_key">Generar una clave nueva</string>
<string name="loading_feed">Cargando feed</string>
<string name="loading_account">Cargando cuenta</string>
<string name="chats_history_proto_nip17">encriptado</string>
@@ -339,13 +298,7 @@
<string name="open_poll">segundos</string>
<string name="feed_is_empty">El feed está vacío.</string>
<string name="refresh">Actualizar</string>
<string name="created">creado</string>
<string name="with_description_of">con la descripción de</string>
<string name="and_picture">e imagen</string>
<string name="changed_chat_name_to">cambió el nombre del chat a</string>
<string name="changed_chat_profile_to">Nuevo perfil de chat:</string>
<string name="description_to">descripción a</string>
<string name="and_picture_to">e imagen a</string>
<string name="leave">Salir</string>
<string name="unfollow">Dejar de seguir</string>
<string name="channel_created">Canal creado</string>
@@ -382,7 +335,6 @@
<string name="nip_05">Dirección de Nostr</string>
<string name="never">nunca</string>
<string name="now">ahora</string>
<string name="seconds">segundos</string>
<string name="h">h</string>
<string name="m">m</string>
<string name="d">d</string>
@@ -390,7 +342,6 @@
<string name="profanity_hateful_speech">Groserías o lenguaje que incita al odio</string>
<string name="report_hateful_speech">Reportar lenguaje que incita al odio</string>
<string name="report_nudity_porn">Reportar desnudos o pornografía</string>
<string name="others">otros</string>
<string name="mark_all_known_as_read">Marcar todos los conocidos como leídos</string>
<string name="mark_all_new_as_read">Marcar todos los nuevos como leídos</string>
<string name="mark_all_as_read">Marcar todos como leídos</string>
@@ -411,8 +362,6 @@
<string name="biometric_authentication_failed">Error de autenticación</string>
<string name="biometric_authentication_failed_explainer">El sistema biométrico no pudo autenticar al propietario de este teléfono</string>
<string name="biometric_authentication_failed_explainer_with_error">El sistema biométrico no pudo autenticar al propietario de este teléfono. Error: %1$s</string>
<string name="biometric_error">Error</string>
<string name="badge_created_by">"Creado por %1$s"</string>
<string name="badge_award_image_for">"Imagen de premio de insignia por %1$s"</string>
<string name="badge_award_image">\"Imagen de premio de insignia</string>
<string name="new_badge_award_notif">Recibiste un nuevo premio de insignia</string>
@@ -420,7 +369,6 @@
<string name="copied_note_text_to_clipboard">Texto de la nota copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub del autor copiado al portapapeles</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID de la nota (@note1) copiado al portapapeles</string>
<string name="select_text_dialog_top">Seleccionar texto</string>
<string name="private_conversation_notification">"&lt;No se pudo desencriptar el mensaje privado&gt;\n\nTe citaron en una conversación privada o encriptada entre %1$s y %2$s."</string>
<string name="account_switch_add_account_dialog_title">Agregar cuenta nueva</string>
<string name="drawer_accounts">Cuentas</string>
@@ -432,8 +380,6 @@
<string name="account_switch_select_account">Seleccionar cuenta</string>
<string name="account_switch_add_account_btn">Agregar cuenta nueva</string>
<string name="account_switch_active_account">Cuenta activa</string>
<string name="account_switch_has_private_key">Tiene clave privada</string>
<string name="account_switch_pubkey_only">Solo de lectura, sin clave privada</string>
<string name="back">Volver</string>
<string name="quick_action_select">Seleccionar</string>
<string name="quick_action_share_browser_link">Compartir enlace del navegador</string>
@@ -454,14 +400,12 @@
<string name="quick_action_mute_thread">Silenciar hilo</string>
<string name="quick_action_unmute_thread">Reactivar hilo</string>
<string name="quick_action_report">Reportar</string>
<string name="quick_action_delete_button">Eliminar</string>
<string name="quick_action_dont_show_again_button">No mostrar de nuevo</string>
<string name="report_dialog_spam">Spam o estafas</string>
<string name="report_dialog_profanity">Groserías o conducta que incita al odio</string>
<string name="report_dialog_impersonation">Suplantación de identidad malintencionada</string>
<string name="report_dialog_nudity">Desnudez o contenido gráfico</string>
<string name="report_dialog_illegal">Comportamiento ilegal</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">Si bloqueas a un usuario, se ocultará su contenido en tu app. Tus notas todavía son visibles públicamente, incluso para las personas que bloquees. Los usuarios bloqueados aparecen en la pantalla \"Filtros de seguridad\".</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Bloquear y ocultar usuario]]></string>
<string name="report_dialog_report_btn">Reportar abuso</string>
@@ -489,7 +433,6 @@
<string name="schedule_post_pick_time">Elegir hora programada</string>
<string name="schedule_post_pick_label">Programación para…</string>
<string name="schedule_post_publishes_in">Se publica en %1$s</string>
<string name="schedule_post_was_due">Se venció hace %1$s</string>
<string name="schedule_post_picker_time_title">Hora</string>
<string name="schedule_post_button_add">Programar publicación</string>
<string name="schedule_post_button_remove">Cancelar programación</string>
@@ -564,7 +507,6 @@
<string name="new_community_relay_marker_author">Autor</string>
<string name="new_community_relay_marker_requests">Solicitudes</string>
<string name="new_community_relay_marker_approvals">Aprobaciones</string>
<string name="new_community_empty">Ninguna comunidad coincide con este filtro.</string>
<string name="new_community_rules_section">Reglas verificables (opcional)</string>
<string name="new_community_rules_hint">Publica un documento de reglas legibles automáticamente (NIP-9B) junto con la comunidad. Los clientes que lo admiten bloquean las publicaciones que no coinciden antes de enviarlas.</string>
<string name="new_community_rules_limits_save">Guardar límites</string>
@@ -629,7 +571,6 @@
<string name="nest_broadcast_connecting">Transmitir en vivo…</string>
<string name="nest_broadcast_failed">Transmisión fallida: %1$s</string>
<string name="nest_mute_failed">Error al silenciar: %1$s</string>
<string name="nest_record_permission_required">Se requiere acceso al micrófono para hablar en esta sala.</string>
<string name="nest_open_settings">Sin permisos</string>
<string name="nest_notification_channel">Nests</string>
<string name="nest_notification_channel_description">Mantiene la reproducción de audio mientras una sala está abierta.</string>
@@ -640,7 +581,6 @@
<string name="nest_join">Unirse a nest</string>
<string name="nest_lobby_host_label">Anfitrión</string>
<string name="nest_lobby_open_action">Abrir</string>
<string name="nest_lobby_recent_chat">Chat reciente</string>
<string name="nest_lobby_no_listeners">Nadie se encuentra en la sala en este momento.</string>
<string name="nest_lobby_listeners_count">%1$d escuchando</string>
<string name="nest_role_host">Anfitrión</string>
@@ -668,8 +608,6 @@
<string name="nest_tab_audience">Público</string>
<string name="nest_tab_hands">Manos</string>
<string name="nest_audience_empty">Todavía no hay nadie en el público.</string>
<string name="nest_chat_send">Enviar</string>
<string name="nest_chat_placeholder">Di algo…</string>
<string name="nest_chat_empty">Aún no hay mensajes. Sé el primero en chatear.</string>
<string name="nest_reactions_button">Reaccionar</string>
<string name="nest_edit_title">Editar sala</string>
@@ -686,7 +624,6 @@
<string name="nests_servers_explainer">Elige en qué servidores host de MoQ quieres que Amethyst publique tus nests. La primera entrada es predeterminada cuando creas un nuevo espacio.</string>
<string name="nests_servers_my_section">Tus servidores</string>
<string name="nests_servers_my_explainer">Guardado como un evento reemplazable para que otros clientes puedan leer tus preferencias.</string>
<string name="nests_servers_add_field">Agregar un servidor de nest</string>
<string name="nests_servers_add_relay_field">URL del relé (WebTransport)</string>
<string name="nests_servers_add_auth_field">URL de autenticación (generación de JWT)</string>
<string name="nests_servers_add_pair_button">Agregar</string>
@@ -707,9 +644,6 @@
<string name="bookmark_list_delete_btn_label">Eliminar lista de marcadores</string>
<string name="bookmark_list_posts_btn_label">Ver publicaciones</string>
<string name="bookmark_list_articles_btn_label">Ver artículos</string>
<string name="bookmark_list_links_btn_label">Ver enlaces</string>
<string name="bookmark_list_hashtags_btn_label">Ver hashtags</string>
<string name="bookmark_list_feed_empty_msg">Aún no tienes ninguna lista de marcadores. Toca el nuevo botón de abajo para crear una.</string>
<string name="private_posts_label">Publicaciones privadas</string>
<string name="private_posts_count">Publicaciones privadas(%1$s)</string>
<string name="public_posts_label">Publicaciones públicas</string>
@@ -720,16 +654,6 @@
<string name="bookmark_list_explainer">Los metadatos de las listas de marcadores son visibles para cualquier usuario de Nostr. Solo los miembros privados están cifrados.</string>
<string name="move_bookmark_to_public_label">Mover a público</string>
<string name="move_bookmark_to_private_label">Mover a privado</string>
<string name="wallet_connect_service">Servicio de conexión a billetera</string>
<string name="wallet_connect_service_explainer">Autoriza a un secreto de Nostr para pagar zaps sin salir de la app. Mantén el secreto seguro y usa un relé privado si es posible.</string>
<string name="wallet_connect_service_pubkey">Clave pública de conexión a billetera</string>
<string name="wallet_connect_service_relay">Relé de conexión a billetera</string>
<string name="wallet_connect_service_secret">Secreto de conexión a billetera</string>
<string name="wallet_connect_service_show_secret">Clave secreta de conexión a billetera</string>
<string name="wallet_connect_service_secret_placeholder">clave privada nsec / hex</string>
<string name="wallet_connect_status_connected">Conectada</string>
<string name="wallet_connect_status_not_connected">No conectada</string>
<string name="wallet_connect_manual_config">Avanzado: introduce manualmente los detalles de la conexión</string>
<string name="quick_zap_amounts">Cantidad de zap rápido</string>
<string name="quick_zap_amounts_explainer">Aparece al presionar el botón de zap. Toca una cantidad para eliminarla. Si la dejas vacía, se abrirá el cuadro de diálogo para introducir una cantidad cada vez.</string>
<string name="zap_privacy_section">Privacidad de zaps</string>
@@ -737,14 +661,8 @@
<string name="wallet_connect_connect_app">Conectar billetera</string>
<string name="see_relay_feed">Ver fuente de relés</string>
<string name="pledge_amount_in_sats">Destinar cantidad en sats</string>
<string name="post_poll">Publicar encuesta</string>
<string name="poll_heading_required">Campos obligatorios:</string>
<string name="poll_zap_recipients">Destinatarios de zaps</string>
<string name="poll_primary_description">Descripción de encuesta principal…</string>
<string name="poll_option">Opción</string>
<string name="poll_option_index">Opción %s</string>
<string name="poll_option_description">Descripción de opción de encuesta</string>
<string name="poll_heading_optional">Campos opcionales:</string>
<string name="poll_zap_value_min">Zap mínimo</string>
<string name="poll_zap_value_max">Zap máximo</string>
<string name="poll_consensus_threshold">Consenso</string>
@@ -753,11 +671,8 @@
<string name="poll_multiple_choice">Opción múltiple</string>
<string name="poll_closing_date_time">Fecha y hora de cierre de la encuesta</string>
<string name="poll_closing_in">La encuesta se cierra en %1$s</string>
<string name="poll_closing_time">Cerrar después de</string>
<string name="poll_closing_time_days">días</string>
<string name="poll_unable_to_vote">No se puede votar</string>
<string name="poll_is_closed_explainer">Encuesta cerrada para votos nuevos</string>
<string name="poll_zap_amount">Monto del zap</string>
<string name="one_vote_per_user_on_atomic_votes">Solo se permite un voto por usuario en este tipo de encuesta</string>
<string name="looking_for_event">"Buscando evento %1$s"</string>
<string name="send_zap">Enviar zap</string>
@@ -791,17 +706,12 @@
<string name="zap_type_nonzap">No zap</string>
<string name="zap_type_nonzap_explainer">No hay rastro en Nostr, solo en Lightning</string>
<string name="post_anonymously">Anónimo</string>
<string name="post_anonymously_explainer">Publicar como una nueva identidad temporal. Tu cuenta no quedará vinculada a esta respuesta.</string>
<string name="anonymous_reply_warning">Esta respuesta se publicará desde una nueva identidad anónima</string>
<string name="file_server">Servidor de archivos</string>
<string name="file_server_description">Elegir un servidor para subir este archivo</string>
<string name="zap_forward_lnAddress">Dirección o @usuario de Lightning</string>
<string name="media_servers">Servidores multimedia</string>
<string name="set_preferred_media_servers">Configura tus servidores preferidos para subir contenido multimedia.</string>
<string name="no_nip96_server_message">No tienes ningún servidor NIP-96 configurado. Puedes usar la lista de Amethyst o agregar uno de la lista a continuación ↓</string>
<string name="no_blossom_server_message">No tienes ningún servidor Blossom configurado. Puedes usar la lista de Amethyst o agregar uno de la lista a continuación ↓</string>
<string name="recommended_media_servers">Servidores multimedia recomendados</string>
<string name="built_in_media_servers_title">Servidores multimedia integrados</string>
<string name="built_in_servers_description">Lista predeterminada de Amethyst. Puedes agregarlos individualmente o añadir la lista.</string>
<string name="use_default_servers">Usar lista predeterminada</string>
<string name="add_media_server">Agregar servidor multimedia</string>
@@ -818,50 +728,21 @@
<string name="uploading_state_hashing">Cifrando</string>
<string name="uploading_state_finished">Listo</string>
<string name="uploading_state_error">Error</string>
<string name="upload_server_relays_nip95">Tus relés (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Los archivos están alojados en tus relés. Nuevo NIP: comprueba si son compatibles.</string>
<string name="privacy_options">Opciones de privacidad</string>
<string name="connect_via_tor_short">Configuración de Tor/Orbot</string>
<string name="connect_via_tor">Conéctate a través de tu configuración de Orbot</string>
<string name="connect_via_tor1">Ajustar</string>
<string name="connect_via_tor2">Configuración de Tor</string>
<string name="do_you_really_want_to_disable_tor_title">¿Desconectarse de tu Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Los datos se transferirán de inmediato en la red normal</string>
<string name="yes">Sí</string>
<string name="no">No</string>
<string name="follow_list_selection">Lista de seguidos</string>
<string name="follow_list_kind3follows">Todos los seguidos</string>
<string name="follow_list_kind3follows_proxy">Siguiendo a través de proxy</string>
<string name="follow_list_aroundme">A mi alrededor</string>
<string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Lista de silenciados</string>
<string name="follow_sets">Conjuntos de seguimiento</string>
<string name="labeled_bookmarks">Marcadores etiquetados</string>
<string name="general_bookmarks">Marcadores generales</string>
<string name="follow_set_type_public">Público</string>
<string name="follow_set_type_private">Privado</string>
<string name="follow_set_type_mixed">Mixto</string>
<string name="follow_set_empty_feed_msg"> Al parecer, aún no tienes ningún conjunto de seguimiento.
\nToca abajo para actualizar o toca los botones de agregar para crear uno nuevo.
</string>
<string name="follow_set_add_author_from_note_action">Agregar autor a conjunto de seguimiento</string>
<string name="follow_set_profile_actions_menu_description">Agregar o quitar usuario de las listas, o crear una nueva lista con este usuario.</string>
<string name="follow_set_private_members_header_label2">Miembros privados</string>
<string name="follow_set_public_members_header_label">Perfiles públicos</string>
<string name="follow_set_private_members_header_label">Perfiles privados</string>
<string name="follow_set_single_member_label">miembro</string>
<string name="follow_set_multiple_member_label">miembros</string>
<string name="follow_set_empty_label">Sin miembros</string>
<string name="follow_set_empty_label2">Vacío</string>
<string name="follow_set_absence_indicator">%1$s no se encuentra en esta lista</string>
<string name="follow_set_absence_indicator2">%1$s no es miembro</string>
<string name="follow_set_man_dialog_title2">Tus listas y %1$s</string>
<string name="follow_set_man_dialog_title">Tus conjuntos de seguimiento</string>
<string name="follow_set_empty_dialog_msg">No se han encontrado conjuntos de seguimiento, o no tienes ningún conjunto de seguimiento. Toca abajo para actualizar o utiliza el menú para crear uno.</string>
<string name="follow_set_error_dialog_msg">Hubo un problema al recuperar: %1$s</string>
<string name="follow_set_creation_menu_title">Crear nueva lista</string>
<string name="follow_set_creation_item_label">Nueva lista con membresía de %1$s</string>
<string name="follow_set_creation_item_description">Crea un nuevo conjunto de seguimiento y añade a %1$s como miembro de %2$s.</string>
<string name="follow_set_creation_dialog_title">Nueva lista de seguimiento</string>
<string name="follow_pack_creation_dialog_title">Nuevo paquete de seguimiento</string>
<string name="follow_set_copy_dialog_title">Copiar/Clonar lista de seguimiento</string>
@@ -881,14 +762,6 @@
<string name="follow_set_rename_dialog_indicator_first_part">Estás cambiando el nombre de </string>
<string name="follow_set_rename_dialog_indicator_second_part"> a..</string>
<string name="connect_through_your_orbot_setup_short">El puerto predeterminado es 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Conéctate a través de Tor con Orbot
\n\n1. Instala [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android).
\n2. Inicia Orbot.
\n3. En Orbot, comprueba el puerto Socks. La opción predeterminada es 9050.
\n4. Si es necesario, cambia el puerto en Orbot.
\n5. Configura el puerto Socks en la pantalla.
\n6. Presiona y activa el botón para usar Orbot como proxy.
</string>
<string name="orbot_socks_port">Puerto Socks de Orbot</string>
<string name="use_internal_tor">Motor de Tor activo</string>
<string name="use_internal_tor_explainer">Usar la versión interna u Orbot</string>
@@ -930,8 +803,6 @@
<string name="tor_full_privacy_explainer">Oculta tu IP en todas las conexiones</string>
<string name="tor_custom_explainer">Crea el tuyo</string>
<string name="invalid_port_number">Número de puerto inválido</string>
<string name="use_orbot">Usar Orbot</string>
<string name="disconnect_from_your_orbot_setup">Desconectar Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Mensajes privados</string>
<string name="app_notification_dms_channel_description">Te notifica cuando llega un mensaje privado</string>
<string name="app_notification_zaps_channel_name">Zaps recibidos</string>
@@ -963,23 +834,12 @@
<string name="call_bluetooth">Bluetooth</string>
<string name="call_voice">Llamada de voz</string>
<string name="reply_notify">Notificar: </string>
<string name="channel_list_join_conversation">Unirse a la conversación</string>
<string name="channel_list_user_or_group_id">ID de usuario o grupo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent o hexadecimal</string>
<string name="channel_list_create_channel">Crear</string>
<string name="channel_list_join_channel">Unirse</string>
<string name="today">Hoy</string>
<string name="content_warning">Advertencia de contenido</string>
<string name="content_warning_explanation">Esta publicación incluye contenido delicado que algunas personas pueden considerar ofensivo o perturbador.</string>
<string name="content_warning_hide_all_sensitive_content">Ocultar siempre el contenido delicado</string>
<string name="content_warning_show_all_sensitive_content">Mostrar siempre el contenido delicado</string>
<string name="content_warning_see_warnings">Mostrar siempre advertencias sobre contenido</string>
<string name="content_warning_hide_all_sensitive_content_option">Ocultar</string>
<string name="content_warning_show_all_sensitive_content_option">Mostrar</string>
<string name="content_warning_see_warnings_option">Advertir</string>
<string name="recommended_apps">Recomendaciones:</string>
<string name="filter_spam_from_strangers">Filtrar el spam de desconocidos</string>
<string name="warn_when_posts_have_reports_from_your_follows">Avisar cuando las publicaciones tengan reportes de tus seguidos</string>
<string name="filter_spam_from_strangers_title">Filtrar spam</string>
<string name="filter_spam_from_strangers_explainer">Oculta las publicaciones de desconocidos que sean exactamente iguales 5 o más veces.</string>
<string name="warn_when_posts_have_reports_from_your_follows_title">Advertir sobre reportes</string>
@@ -996,18 +856,15 @@
<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>
<string name="software">Software</string>
<string name="contact">Contacto</string>
<string name="supports">NIP compatibles</string>
<string name="supported_grasps">Grasps compatibles</string>
<string name="admission_fees">Comisiones de admisión</string>
<string name="admission">Admisión</string>
<string name="subscription">Suscripción</string>
<string name="publication">Publicación</string>
<string name="payment_link">Pagos %1$s</string>
<string name="payments_url">URL de pagos</string>
<string name="target_audience">Público objetivo</string>
<string name="policies_and_links">Políticas y enlaces</string>
@@ -1015,7 +872,6 @@
<string name="limitations">Limitaciones</string>
<string name="countries">Países</string>
<string name="languages">Idiomas</string>
<string name="tags">Etiquetas</string>
<string name="topics">Temas</string>
<string name="all_countries">Todos los países</string>
<string name="all_languages">Todos los idiomas</string>
@@ -1028,48 +884,34 @@
<string name="relay_monitor_rtt_open">Abrir</string>
<string name="relay_monitor_rtt_read">Leer</string>
<string name="relay_monitor_rtt_write">Escribir</string>
<string name="relay_monitor_rtt">RTT</string>
<string name="relay_monitor_network">Red</string>
<string name="relay_monitor_relay_type">Tipo</string>
<string name="relay_monitor_supported_nips">NIP compatibles</string>
<string name="relay_monitor_requirements">Requisitos</string>
<string name="relay_monitor_last_check">Última comprobación</string>
<string name="relay_monitor_ms">%1$d ms</string>
<string name="relay_discovery_accepted_kinds">Kinds aceptados</string>
<string name="relay_active_subscriptions">Suscripciones activas</string>
<string name="relay_active_outbox">Eventos de outbox pendientes</string>
<string name="relay_req_subscriptions">Suscripciones REQ (%1$d)</string>
<string name="relay_count_subscriptions">Suscripciones COUNT (%1$d)</string>
<string name="message_length">Longitud del mensaje</string>
<string name="subscriptions">Suscripciones</string>
<string name="filters">Filtros</string>
<string name="subscription_id_length">Longitud del ID de la suscripción</string>
<string name="minimum_prefix">Prefijo mínimo</string>
<string name="maximum_event_tags">Etiquetas de evento máximas</string>
<string name="content_length">Longitud del contenido</string>
<string name="event_retention">Retención de eventos</string>
<string name="content_size">Tamaño de contenido</string>
<string name="connectivity">Conectividad</string>
<string name="access_control">Control de acceso</string>
<string name="minimum_pow">PoW mínima</string>
<string name="auth">Autenticación</string>
<string name="auth_required">Se requiere autorización</string>
<string name="payment">Pago</string>
<string name="payment_required">Se requiere pago</string>
<string name="max_message_length">Longitud máxima del mensaje</string>
<string name="max_subs">Suscripciones máximas</string>
<string name="max_filters_per_sub">Filtros máximos por suscripción</string>
<string name="max_limit_events_returning">Límite máximo (devolución de eventos)</string>
<string name="default_limit">Límite predeterminado (devolución de eventos)</string>
<string name="max_subid_length">Longitud máxima de subID</string>
<string name="cashu">Token de Cashu</string>
<string name="cashu_redeem">Canjear</string>
<string name="cashu_redeem_to_zap">Enviar a billetera de zaps</string>
<string name="cashu_redeem_to_cashu">Abrir en billetera de Cashu</string>
<string name="cashu_copy_token">Copiar token</string>
<string name="quick_actions_open_in_another_app">Abrir en otra app</string>
<string name="no_lightning_address_set">La dirección de Lightning no está configurada</string>
<string name="copied_token_to_clipboard">Token copiado al portapapeles</string>
<string name="live_stream_live_tag">EN VIVO</string>
<string name="live_stream_offline_tag">FUERA DE LÍNEA</string>
<string name="live_stream_ended_tag">TERMINÓ</string>
@@ -1109,7 +951,6 @@
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="danger_zone">Zona peligrosa</string>
<string name="connectivity_type_always">Siempre</string>
<string name="connectivity_type_wifi_only">Solo Wi-Fi</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi sin medición</string>
<string name="connectivity_type_never">Nunca</string>
<string name="ui_feature_set_type_complete">Completo</string>
@@ -1133,7 +974,6 @@
<string name="ui_style_description">Elegir el estilo de publicación</string>
<string name="gallery_style">Estilo de galería de perfil</string>
<string name="gallery_style_description">Elige el estilo de galería</string>
<string name="load_image">Cargar imagen</string>
<string name="spamming_users">Spammers</string>
<string name="muted_button">Silenciado. Hacer clic para reactivar el sonido.</string>
<string name="mute_button">Sonido activado. Hacer clic para silenciar.</string>
@@ -1144,28 +984,19 @@
<string name="nip05_verified">La dirección de Nostr se verificó</string>
<string name="nip05_failed">No se pudo verificar la dirección de Nostr</string>
<string name="nip05_checking">Verificando dirección de Nostr</string>
<string name="select_deselect_all">Seleccionar o deseleccionar todo</string>
<string name="default_relays">Predeterminados</string>
<string name="default_relays_longer">Restablecer valores predeterminados</string>
<string name="select_a_relay_to_continue">Seleccionar un relé para continuar</string>
<string name="zap_forward_title">Reenviar zaps a:</string>
<string name="zap_forward_explainer">Los clientes compatibles reenviarán los zaps a la dirección de Lightning o al perfil de usuario indicados a continuación en lugar de a los tuyos.</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_exclusive">Publicación con ubicación exclusiva</string>
<string name="geohash_exclusive_explainer">Solo los seguidores de la ubicación la verán. Tus seguidores generales no la verán.</string>
<string name="hashtag_exclusive">Publicación exclusiva de hashtag</string>
<string name="hashtag_exclusive_explainer">Solo los seguidores del hashtag la verán. Tus seguidores generales no la verán.</string>
<string name="loading_location">Cargando ubicación</string>
<string name="lack_location_permissions">Sin permisos de ubicación</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_description_placeholder">Motivo (opcional)</string>
<string name="new_feature_nip17_might_not_be_available_title">Función nueva</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_nip17_activate">Activar</string>
<string name="messages_create_public_chat">Público</string>
<string name="messages_create_public_private_chat_description">Nuevo grupo público o privado</string>
<string name="messages_relay_based">Relé</string>
<string name="messages_new_message">Privado</string>
<string name="messages_new_message_to">Para</string>
<string name="messages_new_message_subject">Asunto</string>
@@ -1177,14 +1008,12 @@
<string name="messages_new_subject_message">Explicación para los miembros</string>
<string name="messages_new_subject_message_placeholder">Cambio de nombre para los nuevos objetivos.</string>
<string name="paste_from_clipboard">Pegar desde el portapapeles</string>
<string name="connect_to_new_nwc_wallet">Conectar a nueva billetera NWC</string>
<string name="couldnt_find_nwc_wallets">Billetera no encontrada</string>
<string name="language_description">Para la interfaz de la aplicación</string>
<string name="theme_description">Tema oscuro, claro o del sistema</string>
<string name="automatically_load_images_gifs_description">Cargar automáticamente imágenes y GIF</string>
<string name="automatically_play_videos_description">Reproducir automáticamente videos y GIF</string>
<string name="automatically_show_url_preview_description">Mostrar vistas previas de URL</string>
<string name="load_image_description">Cuándo cargar imágenes</string>
<string name="copy_stack_to_clipboard">Copiar stack</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="copy_npub_to_clipboard">Copiar npub al portapapeles</string>
@@ -1195,46 +1024,24 @@
<string name="media_added">Contenido multimedia agregado</string>
<string name="media_added_to_profile_gallery">Contenido multimedia agregado a la galería del perfil</string>
<string name="created_at">Creado</string>
<string name="rules">Reglas</string>
<string name="login_with_external_signer">Iniciar sesión con Amber</string>
<string name="status_update">Actualiza tu estado</string>
<string name="lightning_wallets_not_found">Error al analizar el mensaje de error</string>
<string name="poll_zap_value_min_max_explainer">Los votos se calculan según la cantidad de zaps. Puedes establecer una cantidad mínima para evitar spammers y una máxima para que los zappers grandes no puedan dominar la encuesta. Usa la misma cantidad en ambos campos para asegurarte de que cada voto tenga el mismo valor. Déjalos vacíos para aceptar cualquier cantidad.</string>
<string name="error_dialog_zap_error">No se pudo enviar el zap</string>
<string name="error_dialog_talk_to_user">Mensaje para el usuario</string>
<string name="error_dialog_talk_to_user_name">Mensaje %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Error al ensamblar la url NIP-11 para %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">No se pudo contactar %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Error al analizar la respuesta de %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">El relé rechazó la solicitud %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">No se pudo llegar a %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Error al analizar el resultado de %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s falló con el código %2$s</string>
<string name="active_for">Activo para: </string>
<string name="active_for_home">Inicio</string>
<string name="active_for_msg">Mensajes directos</string>
<string name="active_for_chats">Chats</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Búsqueda</string>
<string name="zap_split_title">Dividir y reenviar zaps</string>
<string name="zap_split_explainer">Los clientes compatibles dividirán y reenviarán los zaps a los usuarios que se agreguen aquí en lugar de a ti.</string>
<string name="zap_split_search_and_add_user">Buscar y agregar usuario</string>
<string name="zap_split_search_and_add_user_placeholder">Nombre de usuario o para mostrar</string>
<string name="missing_lud16">Lightning no está configurado</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario %1$s no tiene una dirección de Lightning configurada para recibir sats.</string>
<string name="zap_split_weight">Porcentaje</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Dividir zaps con</string>
<string name="forwarding_zaps_to">Reenviar zaps a</string>
<string name="lightning_wallets_not_found2">No se encontraron billeteras de Lightning</string>
<string name="paid">Pagado</string>
<string name="wallet_number">Billetera %1$s</string>
<string name="error_opening_external_signer">Error al abrir la aplicación firmante</string>
<string name="error_opening_external_signer_description">No se pudo encontrar la aplicación firmante. Comprueba si no se desinstaló la aplicación.</string>
<string name="sign_request_rejected2">Solicitud de firma rechazada</string>
<string name="sign_request_rejected">Solicitud de firma rechazada</string>
<string name="sign_request_rejected_description">Asegúrate de que la aplicación firmante haya autorizado esta transacción.</string>
<string name="no_wallet_found_with_error">No se encontraron billeteras para pagar una factura de Lightning (error: %1$s). Instala una billetera de Lightning para usar zaps.</string>
<string name="no_wallet_found">No se encontraron billeteras para pagar una factura de Lightning. Instala una billetera de Lightning para usar zaps.</string>
@@ -1245,36 +1052,19 @@
<string name="select_an_option">Seleccionar una opción</string>
<string name="error_dialog_pay_invoice_error">No se pudo pagar la factura</string>
<string name="error_dialog_pay_withdraw_error">No se pudo retirar</string>
<string name="error_parsing_nip47_title">No se pudo configurar Wallet Connect</string>
<string name="error_parsing_nip47">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor de la billetera: %1$s. Error: %2$s</string>
<string name="error_parsing_nip47_no_error">Error al analizar la cadena de conexión NIP-47. Comprueba si esto es correcto con el proveedor de la billetera: %1$s.</string>
<string name="cashu_failed_redemption">No se pudo canjear Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">La Mint proporcionó el siguiente mensaje de error: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Los tokens de Cashu ya se gastaron.</string>
<string name="cashu_successful_redemption">Cashu recibido</string>
<string name="cashu_successful_redemption_explainer">Se enviaron %1$s sats a tu billetera (comisión: %2$s sats).</string>
<string name="cashu_no_wallet_found">No se encontró ninguna billetera de Cashu compatible en el sistema</string>
<string name="error_unable_to_fetch_invoice">No se puede obtener la factura de los servidores del destinatario</string>
<string name="wallet_connect_pay_invoice_error_error">El proveedor de conexión de billetera devolvió el siguiente error: %1$s</string>
<string name="could_not_connect_to_tor">No se pudo conectar a Tor</string>
<string name="unable_to_download_relay_document">No está disponible la descarga de documentos del relé</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">No se pudo ensamblar la LNUrl desde la dirección de Lightning \"%1$s\". Comprueba la configuración del usuario.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="could_not_fetch_invoice_from">No se pudo obtener la factura de %1$s</string>
<string name="could_not_fetch_invoice_from_details">No se pudo obtener la factura de %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Error al analizar JSON desde la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">No se encontró la URL de devolución de llamada en la configuración del servidor de la dirección de Lightning del usuario.</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">No se encontró la URL de devolución de llamada en la respuesta de %1$s.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Error al analizar JSON desde la recuperación de factura de la dirección de Lightning. Comprueba la configuración de Lightning del usuario.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Cantidad de factura incorrecta (%1$s sats) de %2$s. Debería haber sido %3$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">No se pudo crear una factura de Lightning antes de enviar el zap. La billetera de Lightning del destinatario envió el siguiente error: %1$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">No se pudo crear una factura de Lightning antes de enviar el zap. No se encontró el elemento pr en el JSON resultante.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
<string name="read_only_user">Usuario de solo lectura</string>
<string name="no_reactions_setup">No hay reacciones configuradas</string>
<string name="select_push_server">Seleccionar una aplicación UnifiedPush</string>
@@ -1292,13 +1082,11 @@
<string name="send_the_seller_a_message">Envía un mensaje al vendedor</string>
<string name="hi_seller_is_this_still_available">Hola, %1$s, ¿esto todavía está disponible?</string>
<string name="hi_there_is_this_still_available">Hola, ¿esto todavía está disponible?</string>
<string name="classifieds">Vender un artículo</string>
<string name="classifieds_title">Título</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Estado</string>
<string name="classifieds_category">Categoría</string>
<string name="classifieds_price">Precio (en sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Ubicación</string>
<string name="classifieds_location_placeholder">Ciudad, estado, país.</string>
<string name="classifieds_condition_new">Nuevo</string>
@@ -1327,20 +1115,13 @@
<string name="classifieds_category_other">Otros</string>
<string name="failed_to_upload_media_no_details">Error al subir contenido multimedia</string>
<string name="could_not_open_the_compressed_file">No se pudo abrir el archivo comprimido</string>
<string name="error_when_compressing_media">Error al comprimir el contenido multimedia: %1$s</string>
<string name="failed_to_upload_media">Error de subida: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">El servidor no proporcionó una URL después de la subida</string>
<string name="could_not_download_from_the_server">No se pudo descargar el contenido subido desde el servidor</string>
<string name="could_not_check_downloaded_file">No se pudo comprobar el archivo descargado después de subir: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">No se pudo preparar el archivo local para subir: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Error al subir a %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Error al subir: %1$s</string>
<string name="failed_to_delete_with_message">Error al eliminar: %1$s</string>
<string name="media_too_big_for_nip95">El contenido multimedia es demasiado grande para NIP-95</string>
<string name="unable_to_load_thumbnail">No se puede subir imagen en miniatura</string>
<string name="could_not_prepare_header">No se pudo preparar la información del encabezado: %1$s</string>
<string name="compression_cancelled">Compresión cancelada</string>
<string name="compression_returned_null">La compresión no pudo devolver un archivo</string>
<string name="failed_to_upload_encrypted_media_message">Muchos servidores no aceptan archivos cifrados en cuentas gratuitas. Puedes volver a intentarlo sin cifrado.</string>
<string name="retry_without_encryption">Reintentar sin cifrado</string>
<string name="upload_without_encryption_warning">Advertencia: Sin cifrado, cualquiera con el enlace del archivo puede ver el contenido.</string>
@@ -1354,34 +1135,25 @@
<string name="video_codec_h265_description">Mejor calidad en tamaños de archivos más pequeños, pero no todos los dispositivos admiten la reproducción H.265.</string>
<string name="edit_draft">Editar borrador</string>
<string name="login_with_qr_code">Iniciar sesión con código QR</string>
<string name="route">Ruta</string>
<string name="route_home">Inicio</string>
<string name="route_search">Buscar</string>
<string name="route_discover">Descubrir</string>
<string name="route_messages">Mensajes</string>
<string name="route_notifications">Notificaciones</string>
<string name="route_global">Global</string>
<string name="route_video">Cortos</string>
<string name="route_chess">Ajedrez</string>
<string name="wallet">Billetera</string>
<string name="wallet_balance">Saldo</string>
<string name="wallet_send">Enviar</string>
<string name="wallet_receive">Recibir</string>
<string name="wallet_transactions">Transacciones</string>
<string name="wallet_no_connection">No hay billetera conectada</string>
<string name="wallet_no_connection_description">Configure una conexión de Nostr Wallet Connect (NWC) en la configuración de zaps para usar la billetera.</string>
<string name="wallet_setup">Configurar billetera</string>
<string name="wallet_sats">sats</string>
<string name="wallet_paste_invoice">Pegar una factura BOLT-11</string>
<string name="wallet_pay">Pagar</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">Filtros de seguridad</string>
<string name="route_import_follows">Importar seguidos</string>
<string name="new_post">Nueva publicación</string>
<string name="new_short">Nuevos cortos: imágenes o videos</string>
<string name="new_community_note">Nueva nota comunitaria</string>
<string name="new_product">Nuevo producto</string>
<string name="new_exclusive_geo_note">Nueva publicación geoexclusiva</string>
<string name="open_all_reactions_to_this_post">Abrir todas las reacciones a esta publicación</string>
<string name="close_all_reactions_to_this_post">Cerrar todas las reacciones a esta publicación</string>
<string name="reply_description">Responder</string>
@@ -1407,29 +1179,22 @@
<string name="relay_info">Relé %1$s</string>
<string name="expand_relay_list">Ampliar lista de relés</string>
<string name="note_options">Opciones de notas</string>
<string name="relay_list_selector">Selector de lista de relés</string>
<string name="poll">Encuesta</string>
<string name="disable_poll">Desactivar encuesta</string>
<string name="add_bitcoin_invoice">Factura de Bitcoin</string>
<string name="cancel_bitcoin_invoice">Cancelar factura de Bitcoin</string>
<string name="cancel_classifieds">Cancelar la venta de un artículo</string>
<string name="add_zapraiser">Recaudación de zaps</string>
<string name="cancel_zapraiser">Cancelar zapraiser</string>
<string name="add_location">Ubicación</string>
<string name="remove_location">Eliminar ubicación</string>
<string name="add_zap_split">Divisiones de zaps</string>
<string name="cancel_zap_split">Cancelar división de zap</string>
<string name="add_content_warning">Agregar advertencia de contenido</string>
<string name="remove_content_warning">Eliminar advertencia de contenido</string>
<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_examples2">Algunas buenas opciones son:\n - auth.nostr1.com (free)\n - inbox.nostr.wine (paid)\n - relay.0xchat.com (free)</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>
@@ -1438,7 +1203,6 @@
<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="dm_upload">Subida de mensaje directo</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>
@@ -1448,12 +1212,8 @@
<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="connected_section">Relés conectados</string>
<string name="connected_section_description">Lista actual de relés en uso</string>
<string name="kind_3_recommended_section">Relés recomendados</string>
<string name="kind_3_recommended_section_description">Agrega los siguientes relés a la lista de relés generales para recibir publicaciones de los usuarios de la lista.</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>
@@ -1480,11 +1240,8 @@
<string name="this_version_brought_to_you_by">Esta versión fue posible gracias a:</string>
<string name="version_name">Versión %1$s</string>
<string name="thank_you">¡Gracias!</string>
<string name="max_limit">Límite máximo</string>
<string name="restricted_writes">Escrituras restringidas</string>
<string name="forked_from">Bifurcación de</string>
<string name="forked_tag">BIFURCACIÓN</string>
<string name="git_repository">Repositorio Git: %1$s</string>
<string name="git_web_address">Web:</string>
<string name="git_clone_address">Clon:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -1492,20 +1249,13 @@
<string name="ots_info_description">Hay prueba de que esta publicación se firmó en algún momento antes de %1$s. La prueba se marcó en la cadena de bloques de Bitcoin en esa fecha y hora.</string>
<string name="edit_post">Editar publicación</string>
<string name="proposal_to_edit">Propuesta para mejorar una publicación</string>
<string name="message_to_author">Resumen de cambios</string>
<string name="message_to_author_placeholder">Correcciones rápidas…</string>
<string name="accept_the_suggestion">Aceptar la sugerencia</string>
<string name="enter_picture_in_picture">Iniciar video en una ventana emergente</string>
<string name="accessibility_download_for_offline">Descargar</string>
<string name="accessibility_lyrics_on">Letra activada</string>
<string name="accessibility_lyrics_off">Letra desactivada</string>
<string name="accessibility_turn_on_sealed_message">Mensaje sellado desactivado. Haz clic para activar el mensaje sellado.</string>
<string name="accessibility_turn_off_sealed_message">Mensaje sellado activado. Haz clic para desactivar el mensaje sellado.</string>
<string name="accessibility_send">Enviar</string>
<string name="accessibility_play_username">Reproducir nombre de usuario como audio</string>
<string name="accessibility_pushpin">Marcador</string>
<string name="accessibility_scan_qr_code">Escanear código QR</string>
<string name="accessibility_navigate_to_alby">Ir al proveedor externo de billeteras Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">No es posible responder a un borrador de nota</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">No es posible citar un borrador de nota</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">No es posible reaccionar a un borrador de nota</string>
@@ -1546,28 +1296,23 @@
<string name="http_status_507">Almacenamiento insuficiente: el servidor no dispone de almacenamiento suficiente para procesar correctamente la solicitud.</string>
<string name="http_status_508">Bucle detectado: el servidor detecta un bucle infinito al procesar la solicitud.</string>
<string name="http_status_511">Autenticación de red requerida: el cliente debe estar autenticado para acceder a la red.</string>
<string name="media_servers_nip96_section">Servidores NIP-96</string>
<string name="media_servers_nip96_explainer">Agrega tantos servidores como quieras. Puedes elegir cuál usar más tarde al subir tu foto.</string>
<string name="media_servers_blossom_section">Servidores Blossom</string>
<string name="media_servers_blossom_explainer">Agrega tantos servidores como quieras. Puedes elegir cuál usar más tarde al subir tu foto.</string>
<string name="add_a_nip96_server">Agregar servidor NIP-96</string>
<string name="add_a_blossom_server">Agregar un servidor Blossom</string>
<string name="delete_all">Borrar todo</string>
<string name="delete_all_drafts_confirmation">¿Seguro quieres eliminar todos los borradores?</string>
<string name="stack">Stack:</string>
<string name="torrent_file">Archivo torrent</string>
<string name="torrent_download">Descargar</string>
<string name="torrent_failure">Error al abrir el archivo</string>
<string name="torrent_no_apps">No hay aplicaciones torrent instaladas para abrir y descargar el archivo.</string>
<string name="torrent_no_info">El evento no tiene suficiente información para crear un enlace magnético</string>
<string name="my_lists_and_sets">Mis listas/conjuntos</string>
<string name="select_list_to_filter">Selecciona una lista para filtrar el feed</string>
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<string name="temporary_account">Cerrar sesión al bloquear dispositivo</string>
<string name="private_message">Mensaje privado</string>
<string name="public_message">Mensaje público</string>
<string name="group_relay">Relé de chat</string>
<string name="group_relay_explanation">Relé al que todos los usuarios de este chat se conectan</string>
<string name="share_image">Compartir imagen…</string>
<string name="search_by_hashtag">Buscar hashtag: #%1$s</string>
<string name="dont_translate_from">No traducir del</string>
@@ -1583,4 +1328,10 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">El servicio de Lightning del destinatario en %1$s no está disponible. Se calculó a partir de la dirección de Lightning \"%2$s\". Error: %3$s. Comprueba si el servidor está activo y si la dirección de Lightning es correcta.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">No se pudo resolver %1$s. Comprueba si tienes conexión, si el servidor está activo y si la dirección de Lightning \"%2$s\" es correcta..\n\nLa excepción fue: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Error al analizar JSON desde la recuperación de factura de %1$s. Comprueba la configuración de Lightning del usuario.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">No se pudo crear una factura de Lightning. Mensaje de %1$s: %2$s.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">No se pudo crear una factura de Lightning desde %1$s: no se encontró el elemento pr en el JSON resultante.</string>
</resources>
@@ -6,15 +6,12 @@
<string name="secret_key_copied_to_clipboard">Clave secreta (nsec) copiada al portapapeles</string>
<string name="copy_my_secret_key">Copiar mi clave secreta</string>
<string name="biometric_authentication_failed">Autenticación fallida</string>
<string name="biometric_error">Error</string>
<string name="badge_created_by">Credo por %1$s</string>
<string name="badge_award_image_for">Imagen del Badge para %1$s</string>
<string name="new_badge_award_notif">Has recibido un nuevo Badge</string>
<string name="award_granted_to">Badge otorgado a</string>
<string name="copied_note_text_to_clipboard">Texto de nota copiado al portapapeles</string>
<string name="copied_user_id_to_clipboard">\@npub del autor copiado al portapapeles</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID de nota copiada (@note1) al portapapeles</string>
<string name="select_text_dialog_top">Seleccionar texto</string>
<string name="point_to_the_qr_code">Apunta al código QR</string>
<string name="show_qr">Mostrar el QR</string>
<string name="profile_image">Imagen de Perfil</string>
@@ -30,8 +27,6 @@
<string name="spam">Spam</string>
<string name="impersonation">Suplantación de identidad</string>
<string name="illegal_behavior">Comportamiento ilegal</string>
<string name="unknown">Desconocido</string>
<string name="relay_icon">Icono del transmisor</string>
<string name="unknown_author">Autor desconocido</string>
<string name="copy_text">Copiar texto</string>
<string name="copy_user_pubkey">Copiar PubKey del usuario</string>
@@ -40,7 +35,6 @@
<string name="block_hide_user">Bloquear y ocultar usuario</string>
<string name="report_spam_scam">Reportar Spam / Estafa</string>
<string name="report_impersonation">Reportar suplantación de identidad</string>
<string name="report_explicit_content">Reportar contenido explícito</string>
<string name="report_illegal_behaviour">Reportar comportamiento ilegal</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Inicie sesión con una clave privada para poder responder</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Inicie sesión con una clave privada para poder publicar posts</string>
@@ -48,7 +42,6 @@
<string name="no_zap_amount_setup_long_press_to_change">Falta la configuración de Zaps por defecto. Mantén pulsado unos segundos para cambiarla</string>
<string name="login_with_a_private_key_to_be_able_to_send_zaps">Inicie sesión con una clave privada para poder enviar Zaps</string>
<string name="zaps">Zaps</string>
<string name="view_count">Total vistas</string>
<string name="boost">Impulsar</string>
<string name="boosted">boosted</string>
<string name="quote">Cita</string>
@@ -56,7 +49,6 @@
<string name="add">Añadir</string>
<string name="replying_to">"respondiendo a "</string>
<string name="and">" y "</string>
<string name="in_channel">"en canal "</string>
<string name="profile_banner">Banner de perfil</string>
<string name="following">" Siguiendo"</string>
<string name="followers">" Seguidores"</string>
@@ -71,9 +63,7 @@
<string name="thank_you_so_much">¡Muchas gracias!</string>
<string name="amount_in_sats">Cantidad en Sats</string>
<string name="send_sats">Enviar Sats</string>
<string name="error_parsing_preview_for">"Error al analizar la vista previa de %1$s : %2$s"</string>
<string name="preview_card_image_for">"Imagen de vista previa para %1$s"</string>
<string name="new_channel">Nuevo canal</string>
<string name="channel_name">Nombre del canal</string>
<string name="my_awesome_group">Mi grupo genial</string>
<string name="picture_url">URL de imagen</string>
@@ -84,34 +74,20 @@
<string name="save">Guardar</string>
<string name="create">Crear</string>
<string name="cancel">Cancelar</string>
<string name="failed_to_upload_the_image">No se pudo cargar la imagen</string>
<string name="relay_address">Dirección del transmisor</string>
<string name="posts">Publicaciones</string>
<string name="errors">Errores</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>
<string name="global_feed">Fuente global</string>
<string name="search_feed">Fuente de búsqueda</string>
<string name="add_a_relay">Anadir transmisor</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Sobre mí</string>
<string name="avatar_url">URL del avatar</string>
<string name="banner_url">URL del banner</string>
<string name="website_url">Dirección web</string>
<string name="ln_address">Dirección LN</string>
<string name="ln_url_outdated">Dirección LN (antiguo)</string>
<string name="image_saved_to_the_gallery">Imagen guardada en la galería</string>
<string name="failed_to_save_the_image">Error al guardar la imagen</string>
<string name="upload_image">Cargar imagen</string>
<string name="uploading">Cargando…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">El usuario no tiene una configuración de dirección Lightning para recibir sats</string>
<string name="reply_here">"responde aquí… "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copia la nota-ID para compartir</string>
<string name="copy_channel_id_note_to_the_clipboard">Copia la nota-ID del canal</string>
<string name="edits_the_channel_metadata">Edita los metadatos del canal</string>
<string name="join">Unirse</string>
<string name="known">Conocidos</string>
@@ -121,16 +97,12 @@
<string name="conversations">Conversaciones</string>
<string name="notes">Notas</string>
<string name="replies">Respuestas</string>
<string name="follows">Siguiendo</string>
<string name="reports">Reportes</string>
<string name="more_options">Más opciones</string>
<string name="relays">" Retransmisores"</string>
<string name="website">Sitio web</string>
<string name="lightning_address">Dirección Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia la ID de Nsec (su contraseña) en el portapapeles para hacer una copia de seguridad</string>
<string name="copy_private_key_to_the_clipboard">Copiar clave privada al portapapeles</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copia la clave pública al portapapeles para compartir</string>
<string name="copy_public_key_npub_to_the_clipboard">Copie la clave pública (NPub) al portapapeles</string>
<string name="send_a_direct_message">Enviar un mensaje directo</string>
<string name="edits_the_user_s_metadata">Edita los metadatos del usuario</string>
<string name="follow">Seguir</string>
@@ -149,18 +121,11 @@
<string name="acceptance_of_terms_is_required">Se requiere la aceptación de los términos</string>
<string name="key_is_required">Se requiere la clave</string>
<string name="login">Acceso</string>
<string name="generate_a_new_key">Generar una nueva clave</string>
<string name="loading_feed">Cargando el tablón…</string>
<string name="error_loading_replies">"Error al cargar las respuestas: "</string>
<string name="try_again">Intentar otra vez</string>
<string name="feed_is_empty">Tablón vacío</string>
<string name="refresh">Actualizar</string>
<string name="created">Creado</string>
<string name="with_description_of">con descripción de</string>
<string name="and_picture">y foto</string>
<string name="changed_chat_name_to">cambió el nombre del chat a</string>
<string name="description_to">descripción a</string>
<string name="and_picture_to">e imagen a</string>
<string name="leave">Dejar</string>
<string name="unfollow">Dejar de seguir</string>
<string name="channel_created">Canal creado</string>
@@ -183,7 +148,6 @@
<string name="profanity_hateful_speech">Blasfemias / Discurso de odio</string>
<string name="report_hateful_speech">Denuncia discurso de odio</string>
<string name="report_nudity_porn">Reportar desnudos / Porno</string>
<string name="others">otros</string>
<string name="quick_action_select">Selecciona</string>
<string name="quick_action_share_browser_link">Compartir enlace del navegador</string>
<string name="quick_action_share">Compartir</string>
+6 -197
View File
@@ -20,8 +20,6 @@
<string name="impersonation">جعل هویت</string>
<string name="illegal_behavior">رفتار ناهنجار</string>
<string name="other">سایر</string>
<string name="unknown">ناشناس</string>
<string name="relay_icon">آیکن رله</string>
<string name="unknown_author">نویسنده ناشناس</string>
<string name="copy_text">کپی متن</string>
<string name="copy_user_pubkey">کپی شناسه نویسنده</string>
@@ -35,12 +33,9 @@
<string name="block_hide_user"><![CDATA[بلاک/پنهان کردن کاربر]]></string>
<string name="report_spam_scam">گزارش اسپم/کلاهبرداری</string>
<string name="report_impersonation">گزارش جعل هویت</string>
<string name="report_explicit_content">گزارش محتوای نامناسب</string>
<string name="report_illegal_behaviour">گزارش رفتار ناهنجار</string>
<string name="report_malware">گزارش بدافزار</string>
<string name="report_mod">گزارش مود</string>
<string name="malware">بدافزار</string>
<string name="mod">مود</string>
<string name="login_with_a_private_key_to_be_able_to_reply">با کلید خصوصی وارد شوید تا بتوانید پاسخ دهید</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">با کلید خصوصی وارد شوید تا بتوانید یادداشت را بازنشر کنید</string>
<string name="login_with_a_private_key_to_like_posts">با کلید خصوصی وارد شوید تا بتوانید یادداشت را لایک کنید</string>
@@ -51,7 +46,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">دارید از کلید عمومی استفاده می کنید و با کلید عمومی فقط می توان خواند. با کلید خصوصی وارد شوید تا بتوانید کلمه یا جمله ای را پنهان کنید.</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">دارید از کلید عمومی استفاده می کنید و با کلید عمومی فقط می توان خواند. با کلید خصوصی وارد شوید تا بتوانید کلمه یا جمله ای را آشکار کنید</string>
<string name="zaps">زپ</string>
<string name="view_count">دیدن تعداد</string>
<string name="boost">بازنشر</string>
<string name="boosted">بازنشر شده</string>
<string name="edited">ویرایش شده</string>
@@ -64,9 +58,7 @@
<string name="add">افزودن</string>
<string name="replying_to">" پاسخ به"</string>
<string name="and">" و "</string>
<string name="in_channel">"در کانال "</string>
<string name="profile_banner">بنر پروفایل</string>
<string name="payment_successful">پرداخت موفق</string>
<string name="error_parsing_error_message">خطا در تفسیر پیغام خطا</string>
<string name="following">"دنبال شونده"</string>
<string name="followers">"دنبال کننده"</string>
@@ -88,9 +80,7 @@
<string name="secret_visible_text">پیشوند نمایان</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">افزودن به یادداشت</string>
<string name="error_parsing_preview_for">" %1$s : %2$s خطا در تبدیل"</string>
<string name="preview_card_image_for">"%1$s پیش نمایش تصویر کارت برای"</string>
<string name="new_channel">کانال جدید</string>
<string name="channel_name">نام کانال</string>
<string name="my_awesome_group">گروه باحال من</string>
<string name="picture_url">آدرس تصویر</string>
@@ -102,33 +92,18 @@
<string name="save">ذخیره</string>
<string name="create">ساختن</string>
<string name="cancel">لغو</string>
<string name="failed_to_upload_the_image">تصویر بارگذاری نشد</string>
<string name="relay_address">آدرس رله</string>
<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>
<string name="global_feed">خبرنامه همگانی</string>
<string name="search_feed">جستجو در خبرنامه</string>
<string name="add_a_relay">افزودن رله</string>
<string name="profile_name">نام</string>
<string name="display_name">نمایش نام</string>
<string name="my_display_name">نام من</string>
<string name="my_awesome_name">استریچ باحالیان</string>
<string name="welcome">خوش آمدی استریچ!</string>
<string name="username">نام کاربری</string>
<string name="my_username">نام کاربری من</string>
<string name="about_me">درباره من</string>
<string name="avatar_url">آدرس آواتار</string>
<string name="banner_url">آدرس بنر</string>
<string name="website_url">آدری وبسایت</string>
<string name="pronouns">ضمیرها</string>
<string name="ln_address">آدرس لایتنینگ</string>
<string name="ln_url_outdated">آدرس لایتنینگ(نقل شده)</string>
<string name="save_to_gallery">در گالری ذخیره کن</string>
<string name="image_saved_to_the_gallery">تصویر در گالری ذخیره شد</string>
<string name="video_download_has_started_toast">بارگیری ویدئو آغاز شد…</string>
<string name="media_download_has_started_toast">بارگیری رسانه آغاز شد…</string>
@@ -136,11 +111,8 @@
<string name="video_saved_to_the_gallery">ویدئو در گالری گوشی ذخیره شد</string>
<string name="failed_to_save_the_video">ویدئو ذخیره نشد</string>
<string name="upload_image">بارگذاری تصویر</string>
<string name="uploading">…در حال بارگذاری</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">این کاربر آدرس لایتنینگ برای دریافت ساتوشی تنظیم نکرده است</string>
<string name="reply_here">"…اینجا پاسخ دهید "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">شناسه یادداشت را برای اشتراک گذاری در کلیپبورد ذخیره می کند </string>
<string name="copy_channel_id_note_to_the_clipboard">ذخیره شناسه کانال در کلیپبورد</string>
<string name="edits_the_channel_metadata">متادیتای کانال را ذخیره می کند</string>
<string name="join">پیوستن</string>
<string name="known">شناس</string>
@@ -152,18 +124,14 @@
<string name="replies">پاسخ ها</string>
<string name="mutual">مال شما</string>
<string name="gallery">گالری</string>
<string name="follows">"دنبال شوندگان"</string>
<string name="reports">"گزارش ها"</string>
<string name="more_options">انتخاب های بیشتر</string>
<string name="relays">"رله ها"</string>
<string name="website">وبسایت</string>
<string name="lightning_address">آدرس لایتنینگ</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">شناسه کلید خصوصی (پسوردتان) را در کلیپبورد کپی می کند(</string>
<string name="copy_private_key_to_the_clipboard">کپی کردن کلید خصوصی در کلیپبورد</string>
<string name="show_private_key_qr_code">نمایش کد QR کلید خصوصی</string>
<string name="show_encrypted_private_key_qr_code">نمایش کد QR کلید خصوصی رمزنگاری شده</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">کلید عمومی را برای اشتراک گذاری در کلیپبورد ذخیره می کند</string>
<string name="copy_public_key_npub_to_the_clipboard">کپی کردن کلید عمومی در کلیپبورد</string>
<string name="send_a_direct_message">ارسال پیام مستقیم</string>
<string name="edits_the_user_s_metadata">متادیتای کاربر را ویرایش می کند</string>
<string name="follow">دنبال کردن</string>
@@ -192,8 +160,6 @@
<string name="how_should_we_call_you">شما را چی صدا بزنیم؟</string>
<string name="don_t_have_an_account">حساب کاربری ناستر ندارید؟</string>
<string name="already_have_an_account">از قبل حساب کاربری ناستر دارید؟</string>
<string name="create_a_new_account">ایجاد حساب کاربری جدید</string>
<string name="generate_a_new_key">ساختن جفت کلید جدید</string>
<string name="loading_feed">در حال بارگیری خبرنامه</string>
<string name="loading_account">بارگذاری حساب کاربری</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
@@ -203,13 +169,7 @@
<string name="notification_feed_is_empty">هنوز هیچ اعلانی نیست.</string>
<string name="feed_is_empty">خبرنامه خالیست</string>
<string name="refresh">تازه‌سازی</string>
<string name="created">ساخته شد</string>
<string name="with_description_of">با توصیف</string>
<string name="and_picture">و تصویر</string>
<string name="changed_chat_name_to">نام گفتگو تغییر کرد به</string>
<string name="changed_chat_profile_to">نمایه جدید گفتگو:</string>
<string name="description_to">تصویر</string>
<string name="and_picture_to">و تصویر به</string>
<string name="leave">ترک کردن</string>
<string name="unfollow">دنبال نکردن</string>
<string name="channel_created">کانال ساخته شد</string>
@@ -242,7 +202,6 @@
<string name="profanity_hateful_speech">ناسزا / نفرت پراکنی</string>
<string name="report_hateful_speech">گزارش نفرت پراکنی</string>
<string name="report_nudity_porn">گزارش برهنگی / پورن</string>
<string name="others">سایر</string>
<string name="mark_all_known_as_read">همه شناس ها خوانده شده کن</string>
<string name="mark_all_new_as_read">همه جدیدها را خوانده شده کن</string>
<string name="mark_all_as_read">همه را خوانده شده کن</string>
@@ -262,23 +221,18 @@
<string name="biometric_authentication_failed">احراز هویت انجام نشد</string>
<string name="biometric_authentication_failed_explainer">مشخصات بیومتریک نتوانست مالک این تلفن را احراز هویت کند</string>
<string name="biometric_authentication_failed_explainer_with_error">مشخصات بیومتریک نتوانست مالک این تلفن را احراز هویت کند. خطا: %1$s</string>
<string name="biometric_error">خطا</string>
<string name="badge_created_by">"ساخته شده توسط %1$s"</string>
<string name="badge_award_image_for">"تصویر مدال پاداش برای %1$s"</string>
<string name="new_badge_award_notif">یک مدال پاداش دریافت کردید</string>
<string name="award_granted_to">مدال پاداش داده شد به</string>
<string name="copied_note_text_to_clipboard">یادداشت در کلیپبورد کپی شد</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npubنویسنده در کلیپبورد کپی شد </string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">(@note1)شناسه یادداشت در کلیپبورد کپی شد</string>
<string name="select_text_dialog_top">انتخاب متن</string>
<string name="private_conversation_notification">"&lt;پیام خصوصی رمزگشایی نشد&gt;\\n\nدر یک پیام خصوصی/رمزنگاری شده بین %1$s و %2$s نام شما آمده بود."</string>
<string name="account_switch_add_account_dialog_title">افزودن حساب کاربری جدید</string>
<string name="drawer_accounts">حساب های کاربری</string>
<string name="account_switch_select_account">انتخاب حساب کارگری</string>
<string name="account_switch_add_account_btn">افزودن حساب کاربری جدید</string>
<string name="account_switch_active_account">حساب کاربری فعال</string>
<string name="account_switch_has_private_key">کلید خصوصی دارد</string>
<string name="account_switch_pubkey_only">فقط خواندن، کلید خصوصی ندارد</string>
<string name="back">بازگشت</string>
<string name="quick_action_select">انتخاب</string>
<string name="quick_action_share_browser_link">اشتراک گذاری لینک مرورگر</string>
@@ -296,14 +250,12 @@
<string name="quick_action_delete_dialog_btn">حذف</string>
<string name="quick_action_block">بلاک</string>
<string name="quick_action_report">گزارش</string>
<string name="quick_action_delete_button">حذف</string>
<string name="quick_action_dont_show_again_button">دوباره نشان نده</string>
<string name="report_dialog_spam">اسپم یا کلاهبرداری</string>
<string name="report_dialog_profanity">محتوای نفرت پراکنی یا ناسزا</string>
<string name="report_dialog_impersonation">جعل هویت بدخواهانه</string>
<string name="report_dialog_nudity">محتوای برهنگی یا نمایان</string>
<string name="report_dialog_illegal">رفتار ناهنجار</string>
<string name="report_dialog_malware">نرم‌افزار خرابکار</string>
<string name="report_dialog_blocking_a_user">بلاک کردن کاربر محتوای ایشان را در اپ شما پنهان می کند. یادداشت های شما همچنان بطور عمومی دیده می شوند که شامل کاربران بلاک شده توسط شما نیز هست. کاربران بلاک شده در صفحه فیلترهای ایمنی فهرست می شوند.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[مسدود و پنهان کردن کاربر]]></string>
<string name="report_dialog_report_btn">گزارش سواستفاده</string>
@@ -323,30 +275,15 @@
<string name="add_to_public_bookmarks">افزودن به علامت گذاشته های عمومی</string>
<string name="remove_from_private_bookmarks">برداشتن از علامت گذاشته های خصوصی</string>
<string name="remove_from_public_bookmarks">برداشتن از علامت گذاشته های خصوصی</string>
<string name="wallet_connect_service">خدمات اتصال به کیف پول</string>
<string name="wallet_connect_service_explainer">به رمز ناستر اجازه بده زپ را بدون ترک اپ برداخت کند. این رمز را امن نگه دارید و درصورت امکان از رله خصوصی استفاده کنید</string>
<string name="wallet_connect_service_pubkey">کلید عمومی اتصال به کیف پول</string>
<string name="wallet_connect_service_relay">رله اتصال به کیف پول</string>
<string name="wallet_connect_service_secret">رمز اتصال به کیف پول</string>
<string name="wallet_connect_service_show_secret">نمایش کلید خصوصی</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex کلید خصوصی</string>
<string name="pledge_amount_in_sats">مبلغ وثیقه به ساتوشی</string>
<string name="post_poll">ارسال نظرسنجی</string>
<string name="poll_heading_required">قسمت های الزامی:</string>
<string name="poll_zap_recipients">دریافت کنندگان زپ</string>
<string name="poll_primary_description">توضیحات اولیه نظرسنجی…</string>
<string name="poll_option_index">گزینه ها %s</string>
<string name="poll_option_description">توضیح گزینه های نظرسنجی</string>
<string name="poll_heading_optional">قسمت های اختیاری:</string>
<string name="poll_zap_value_min">حداقل زپ</string>
<string name="poll_zap_value_max">حداکثر زپ</string>
<string name="poll_consensus_threshold">توافق نظر</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">بسته شدن پس از</string>
<string name="poll_closing_time_days">روز</string>
<string name="poll_unable_to_vote">نمی توان رای داد</string>
<string name="poll_is_closed_explainer">این نظرسنجی برای رای جدید بسته شده است</string>
<string name="poll_zap_amount">مبلغ زپ</string>
<string name="one_vote_per_user_on_atomic_votes">فقط یک رای به ازای هر کاربر در این نوع نظرسنجی مجاز است</string>
<string name="looking_for_event">"جستجوی رویداد %1$s"</string>
<string name="custom_zaps_add_a_message">افزودن پیام عمومی</string>
@@ -380,12 +317,9 @@
<string name="zap_type_nonzap_explainer">هیچ ردی در نوستر نمی ماند، فقط در شبکه لایتنینگ انجام می شود</string>
<string name="file_server">سرور فایل</string>
<string name="file_server_description">یک سرور برای بارگذاری این فایل انتخاب کنید</string>
<string name="zap_forward_lnAddress">آدرس لایتنینگ یا @User</string>
<string name="media_servers">سرورهای رسانه</string>
<string name="set_preferred_media_servers">سرورهای مورد علاقه خود برای بارگزاری رسانه را انتخاب کنید.</string>
<string name="no_nip96_server_message">هیچ مجموعه سرور NIP-96 ندارید. می توانید از لیست امتیست استفاده کنید، یا از لیست زیر اضافه کنید↓</string>
<string name="no_blossom_server_message">هیچ سروری برای Blossom ندارید. می توانید از لیست امتیست استفاده کنید، یا از لیست زیر اضافه کنید↓</string>
<string name="built_in_media_servers_title">سرورهای داخلی رسانه</string>
<string name="built_in_servers_description">لیست پیش فرض امتیست. می توانید تک به تک یا تمام لیست را اضافه کنید.</string>
<string name="use_default_servers">استفاده از لیست پیش فرض</string>
<string name="add_media_server">افزودن سرور رسانه</string>
@@ -398,31 +332,16 @@
<string name="uploading_state_hashing">در حال هش کردن</string>
<string name="uploading_state_finished">انجام شد</string>
<string name="uploading_state_error">خطا</string>
<string name="upload_server_relays_nip95">رله های شما (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">فایل ها در رله های شما میزبانی می شوند. NIPجدید: بررسی کنید آیا پشتیبانی می کنند یا خیر </string>
<string name="privacy_options">گزینه های حریم خصوصی</string>
<string name="connect_via_tor_short">Tor/Orbot تنظیمات</string>
<string name="connect_via_tor"> از طریق تنظیم Orbot متصل شوید</string>
<string name="connect_via_tor1">تنظیم</string>
<string name="connect_via_tor2">تنظیمات تور</string>
<string name="do_you_really_want_to_disable_tor_title">قطع اتصال از Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">داده های شما بلافاصله در شبکه معمولی منتقل می شوند</string>
<string name="yes">بله</string>
<string name="no">خیر</string>
<string name="follow_list_selection">لیست دنبال ها</string>
<string name="follow_list_kind3follows">همه دنبال ها</string>
<string name="follow_list_aroundme">اطراف من</string>
<string name="follow_list_global">همگانی</string>
<string name="follow_list_mute_list">لیست خموش</string>
<string name="connect_through_your_orbot_setup_short">درگاه پیش فرض 9050 است</string>
<string name="connect_through_your_orbot_setup_markdown"> ## از طریق Tor با Orbot متصل شوید
\n\n1. نصب کنید [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. شروع Orbot
\n3. در Orbot, پورت Socksرا علامت بزنید.مقدار پیش فرض 9050 است.
\n4. اگر لازم است پورت Orbot را تغییر دهید
\n5. پورت Socks را در این صفحه پیکربندی کنید
\n6. دکمه Activate را بفشارید تا از Orbot به عنوان پراکسی استفده نمایید
</string>
<string name="orbot_socks_port">درگاه Orbot Socks</string>
<string name="use_internal_tor">موتور فعال تور</string>
<string name="use_internal_tor_explainer">استفاده از نسخه درونی یا Orbot</string>
@@ -464,8 +383,6 @@
<string name="tor_full_privacy_explainer">IP خود را در تمام ارتباطات پنهان کن</string>
<string name="tor_custom_explainer">خودت را بساز</string>
<string name="invalid_port_number">شماره پورت نامعتبر</string>
<string name="use_orbot">استفاده از Orbot</string>
<string name="disconnect_from_your_orbot_setup">قطع اتصال Tor/Orbot</string>
<string name="app_notification_dms_channel_name">پیام خصوصی</string>
<string name="app_notification_dms_channel_description">وقتی پیام خصوصی دریافت شود اعلان می کند</string>
<string name="app_notification_zaps_channel_name">زپ دریافت شده</string>
@@ -475,20 +392,9 @@
<string name="app_notification_zaps_channel_message_for">برای %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">اعلان: </string>
<string name="channel_list_join_conversation">پیوستن به گفتگو</string>
<string name="channel_list_user_or_group_id">شناسه گروه یا کاربر</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent یا hex</string>
<string name="channel_list_create_channel">ساختن</string>
<string name="channel_list_join_channel">پیوستن</string>
<string name="today">امروز</string>
<string name="content_warning">هشدار محتوا</string>
<string name="content_warning_explanation">این یادداشت حاوی محتوای حساس است که ممکن است از نظر برخی توهین آمیز یا مشوش کننده باشد</string>
<string name="content_warning_hide_all_sensitive_content">همیشه محتوای حساس را پنهان کن</string>
<string name="content_warning_show_all_sensitive_content">همیشه محتوای حساس را نشان بده</string>
<string name="content_warning_see_warnings">همیشه هشدار محتوا را نشان بده</string>
<string name="recommended_apps">توصیه ها: </string>
<string name="filter_spam_from_strangers">اسپم غریبه ها را فیلتر کن</string>
<string name="warn_when_posts_have_reports_from_your_follows">اگر یادداشت توسط افرادی که فالو می کنید گزارش شده هشدار بده</string>
<string name="new_reaction_symbol">نماد جدید واکنش</string>
<string name="no_reaction_type_setup_long_press_to_change">هیچ نوع واکنشی انتخاب نشده. نگه دارید تا تغییر دهید</string>
<string name="zapraiser">زپ گیری</string>
@@ -499,38 +405,25 @@
<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>
<string name="software">نرم‌افزار</string>
<string name="contact">مخاطب</string>
<string name="supports">NIP های پشتیبانی شده</string>
<string name="admission_fees">کارمزد تراکنش</string>
<string name="payments_url">Url پرداخت ها</string>
<string name="limitations">محدودیت ها</string>
<string name="countries">کشورها</string>
<string name="languages">زبان‌ها</string>
<string name="tags">برچسب‌ها</string>
<string name="posting_policy">سیاست ارسال محتوا</string>
<string name="relay_error_messages">خطاها و هشدارهای از این رله</string>
<string name="message_length">طول پیام</string>
<string name="subscriptions">اشتراک</string>
<string name="filters">فیلترها</string>
<string name="subscription_id_length">طول شناسه اشتراک</string>
<string name="minimum_prefix">حداقل پیشوند</string>
<string name="maximum_event_tags">حداکثر تعداد برچسب رویداد</string>
<string name="content_length">طول محتوا</string>
<string name="minimum_pow">حداقل PoW</string>
<string name="auth">احراز هویت</string>
<string name="payment">پرداخت</string>
<string name="cashu">توکن Cashu</string>
<string name="cashu_redeem">بازپرداخت</string>
<string name="cashu_redeem_to_zap">ارسال به کیف پول زپ</string>
<string name="cashu_redeem_to_cashu">باز کردن در کیف پول Cashu</string>
<string name="cashu_copy_token">کپی کردن توکن</string>
<string name="quick_actions_open_in_another_app">در یک اپلیکیشن دیگر باز کن</string>
<string name="no_lightning_address_set">آدرس لایتنینگ تنظیم نشده است</string>
<string name="copied_token_to_clipboard">توکن به کلیپبورد کپی شد</string>
<string name="live_stream_live_tag">زنده</string>
<string name="live_stream_offline_tag">آفلاین</string>
<string name="live_stream_ended_tag">تمام شد</string>
@@ -554,7 +447,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">همیشه</string>
<string name="connectivity_type_wifi_only">فقط Wifi</string>
<string name="connectivity_type_unmetered_wifi_only">وای فای بی اندازه</string>
<string name="connectivity_type_never">هرگز</string>
<string name="ui_feature_set_type_complete">کامل</string>
@@ -578,7 +470,6 @@
<string name="ui_style_description">قیافه پست را انتخاب کن</string>
<string name="gallery_style">سبک گالری نمایه</string>
<string name="gallery_style_description">انتخاب سبک گالری</string>
<string name="load_image">بارگیری تصویر</string>
<string name="spamming_users">اسپمر</string>
<string name="muted_button">بیصدا شده. برای لغو کلیک کنید</string>
<string name="mute_button">باصدا. برای بیصدا کردن کلیک کنید</string>
@@ -586,12 +477,8 @@
<string name="nip05_verified">آدرس ناستر تایید شده بود</string>
<string name="nip05_failed">آدرس ناستر تایید نشد</string>
<string name="nip05_checking">بررسی آدرس ناستر</string>
<string name="select_deselect_all">انتخاب یا لغو انتخاب همه</string>
<string name="default_relays">پیش‌فرض</string>
<string name="default_relays_longer">بازگشت به حالت پیش فرض</string>
<string name="select_a_relay_to_continue">برای ادامه یک رله انتخاب کنید</string>
<string name="zap_forward_title">باز ارسال زپ ها به:</string>
<string name="zap_forward_explainer">کلاینت هایی که این قابلیت را دارند زپ ها را به جای شما به LNAddress یا نمایه کاربر زیر می فرستند</string>
<string name="geohash_title">افشای مکان به عنوان </string>
<string name="geohash_explainer">یک هش جغرافیایی از مکان شما به این یادداشت می افزاید. دیگران خواهند دانست که شما در فاصله 5 کیلومتری (3 مایلی) این مکان هستید.</string>
<string name="geohash_exclusive">پست اختصاصی مکان</string>
@@ -599,9 +486,6 @@
<string name="loading_location">بارگیری مکان</string>
<string name="lack_location_permissions">اجازه ثبت مکان داده نشده</string>
<string name="add_sensitive_content_explainer">پیش از نمایش محتوای شما، هشدار محتوای حساس به آن می افزاید. این برای هرگونه محتوای نامناسب برای محیط کار یا هر محتوای دیگری که برخی ممکن است توهین آمیز یا مشوش کننده بدانند خوب است.</string>
<string name="new_feature_nip17_might_not_be_available_title">ویژگی جدید</string>
<string name="new_feature_nip17_might_not_be_available_description">برای فعال سازی این حالت لازم است اماتیست یک پیغام NIP-17 بفرستد (پیغام های GiftWrapped, Sealed Direct and Group). مطمئن شوید که گیرنده از کلاینتی سازگاز استفاده می کند.</string>
<string name="new_feature_nip17_activate">فعال‌سازی</string>
<string name="messages_create_public_chat">عمومی</string>
<string name="messages_create_public_private_chat_description">گروه خصوصی یا عمومی جدید</string>
<string name="messages_new_message">خصوصی</string>
@@ -620,7 +504,6 @@
<string name="automatically_load_images_gifs_description">بارگیری خودکار تصاویر و جیف ها</string>
<string name="automatically_play_videos_description">پخش خودکار ویدئوها و جیف ها</string>
<string name="automatically_show_url_preview_description">نشان دادن پیش نمایش URL</string>
<string name="load_image_description">هنگام بارگیری تصاویر</string>
<string name="copy_stack_to_clipboard">کپی استک</string>
<string name="copy_to_clipboard">کپی به کلیپ‌بورد</string>
<string name="copy_npub_to_clipboard">کپی کلید عمومی در کلیپبورد</string>
@@ -631,45 +514,23 @@
<string name="media_added">رسانه افزوده شد</string>
<string name="media_added_to_profile_gallery">رسانه به گالری نمایه شما افزوده شد</string>
<string name="created_at">ایجاد شده در</string>
<string name="rules">قوانین</string>
<string name="login_with_external_signer">ورود با Amber</string>
<string name="status_update">بارگذاری وضعیت</string>
<string name="lightning_wallets_not_found">خطا در تفسیر پیغام خطا</string>
<string name="poll_zap_value_min_max_explainer">آراء با مبلغ زپ سنجیده می شوند. می توانید برای جلوگیری از اسپم یک مبلغ حداقل تعیین کنید و برای جلوگیری از دستکاری نتیجه با زپ های بزرگ یک مبلغ حداکثر تعیین کنید. برای اینکه همه آراء ارزش یکسان داشته باشند در هر دو قسمت یک مبلغ را بزنید. یا این قسمت را خالی بگذارید تا هر مبلغ زپی را بپذیرد.</string>
<string name="error_dialog_zap_error">زپ فرستاده نمی شود</string>
<string name="error_dialog_talk_to_user">پیام به کاربر</string>
<string name="error_dialog_talk_to_user_name">پیغام %1$s</string>
<string name="error_dialog_button_ok">قبول</string>
<string name="relay_information_document_error_assemble_url">به %1$s نرسید: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">آدرس NIP-11 ساخته نشد به دلیل %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">به %1$s نتوانست برسد: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">پاسخ %1$s تفسیر نشد: %2$s</string>
<string name="relay_information_document_error_failed_with_http">رله درخواست %1$s را رد کرد: %2$s</string>
<string name="relay_information_document_error_reach_server">به %1$s نرسید: %2$s</string>
<string name="relay_information_document_error_parse_result">نتایج %1$s تفسیر نشد: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s کد %2$s را انجام نداد</string>
<string name="active_for">فعال برای: </string>
<string name="active_for_home">خانه</string>
<string name="active_for_msg">پیام های خصوصی</string>
<string name="active_for_chats">گپ</string>
<string name="active_for_global">همگانی</string>
<string name="active_for_search">جستجو</string>
<string name="zap_split_title">تقسیم و فرستادن زپ ها</string>
<string name="zap_split_explainer">کلاینت هایی که این ویژگی را دارند زپ ها را تقسیم کرده و به جای شما کاربرانی که اینجا افزوده اید می فرستند</string>
<string name="zap_split_search_and_add_user">جستجو و افزودن کاربر</string>
<string name="zap_split_search_and_add_user_placeholder">نام کاربری یا نام نمایشی</string>
<string name="missing_lud16">تنظیمات لایتنینگ موجود نیست</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">کاربر %1$s آدرس لایتنینگ برای دریافت ساتوشی تنظیم نکرده است</string>
<string name="zap_split_weight">درصد</string>
<string name="zap_split_weight_placeholder">۲۵</string>
<string name="splitting_zaps_with">تقسیم زپ با</string>
<string name="forwarding_zaps_to">بازفرستادن زپ به</string>
<string name="lightning_wallets_not_found2">کیف پول لایتنینگی یافت نشد</string>
<string name="paid">پرداخت شد</string>
<string name="wallet_number">کیف پول %1$s</string>
<string name="error_opening_external_signer">خطا در بازکردن اپلیکیشن امضا کننده</string>
<string name="error_opening_external_signer_description">اپ امضا کننده یافت نشد. بررسی کنید که اپ حذف نشده باشد.</string>
<string name="sign_request_rejected">اپ امضا کننده رد کرد</string>
<string name="sign_request_rejected_description">مطمئن شوید که اپ امضا کننده این تراکنش را تایید کرده است</string>
<string name="no_wallet_found_with_error">هیچ کیف پولی برای پرداخت صورتحساب لایتنینگ یافت نشد (خطا: %1$s). لطفا کیف پول لایتنینگی برای استفاده از زپ نصب کنید</string>
<string name="no_wallet_found">هیچ کیف پولی برای پرداخت صورتحساب لایتنینگ یافت نشد. لطفا یک کیف پول لایتنینگی برای استفاده از زپ نصب کنید</string>
@@ -680,36 +541,19 @@
<string name="select_an_option">یک گزینه را انتخاب کنید</string>
<string name="error_dialog_pay_invoice_error">صورتحساب پرداخت نشد</string>
<string name="error_dialog_pay_withdraw_error">برداشت نشد</string>
<string name="error_parsing_nip47_title">اتصال کیف پول برقرار نشد</string>
<string name="error_parsing_nip47">خطا در تفسیر رشته اتصال NIP-47. بررسی کنید این مشکل مربوط به سازنده کیف پول شما مشکلی نباشد: %1$s. خطا: %2$s</string>
<string name="error_parsing_nip47_no_error">خطا در تفسیر رشته اتصال NIP-47. بررسی کنید این مشکل مربوط به سازنده کیف پول شما مشکلی نباشد: %1$s.</string>
<string name="cashu_failed_redemption">Cashu بازپرداخت نشد</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint پیام خطای روبرو را داد: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">توکن Cashu خرج شده است.</string>
<string name="cashu_successful_redemption">Cashu دریافت شد</string>
<string name="cashu_successful_redemption_explainer">%1$s ساتوشی به کیف پول شما ارسال شد. (کارمزد: %2$s ساتوشی)</string>
<string name="cashu_no_wallet_found">هیچ کیف پول Cashu سازگاری در سیستم یافت نشد</string>
<string name="error_unable_to_fetch_invoice">صورتحساب از سرور گیرنده دریافت نشد</string>
<string name="wallet_connect_pay_invoice_error_error">ارائه دهنده اتصال کیف پول شما خطای روبرو را داد: %1$s</string>
<string name="could_not_connect_to_tor">نمی توان به Tor وصل شد</string>
<string name="unable_to_download_relay_document">بارگیری اسناد رله در دسترس نیست</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">LNUrl از آدرس لایتنینگ \"%1$s\" بدست نیامد. تنظیمات کاربر را بررسی کنید.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">خدمات لایتنینگ %1$s گیرنده دردسترس نیست. از آدرس لایتنینگ \"%2$s\" محاسبه شد. خطا: %3$s. بررسی کنید آیا سرور کار می کند و آیا آدرس لایتنینگ صحیح است.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد. \n\nخطای %3$s</string>
<string name="could_not_fetch_invoice_from">صورتحساب از %1$s گرفته نشد</string>
<string name="could_not_fetch_invoice_from_details">صورتحساب از %1$s گرفته نشد: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">خطا در تفسیر JSON از آدرس لایتنینگ. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL بازخوانی در پیکربندی سرور آدرس لایتنینگ یافت نشد</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">فراخوانی URL از پاسخ %1$s یافت نشد</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">خطا در تفسیر JSON از فراخوان صورتحساب آدرس لایتنینگ. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از دریافت صورتحساب %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">مبلغ نادرست صورتحساب (%1$s ساتوشی)از %2$s. می بایست %3$s ساتوشی باشد.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">نمی توان صورتحساب لایتنینگ را پیش از زپ زدن ارسال کرد. کیف پول لایتنینگی گیرنده خطای روبرو را داد: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">صورت حساب لایتنینگ ساخته نشد. پیغام از %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">نمی توان صورتحساب لایتنینگ را پیش از زپ زدن ارسال کرد. المنت pr در JSON بدست آمده یافت نشد.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">نمی توان صورتحساب لایتنینگ از %1$s ساخت. المنت pr در JSON بدست آمده یافت نشد.</string>
<string name="read_only_user">کاربر با امکان خواندن فقط</string>
<string name="no_reactions_setup">هیچ واکنشی تنظیم نشده است</string>
<string name="select_push_server">یک اپلیکیشن UnifiedPush انتخاب کنید</string>
@@ -727,13 +571,11 @@
<string name="send_the_seller_a_message">به فروشنده پیغام دهید</string>
<string name="hi_seller_is_this_still_available">سلام %1$s، هنوز موجوده؟</string>
<string name="hi_there_is_this_still_available">سلام، هنوز موجوده؟</string>
<string name="classifieds">چیزی بفروشید</string>
<string name="classifieds_title">عنوان</string>
<string name="classifieds_title_placeholder">آیفون 13</string>
<string name="classifieds_condition">شرایط</string>
<string name="classifieds_category">دسته بندی</string>
<string name="classifieds_price">قیمت (به ساتوشی)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">موقعیت مکانی</string>
<string name="classifieds_location_placeholder">شهر، استان، کشور</string>
<string name="classifieds_condition_new">جدید</string>
@@ -762,20 +604,13 @@
<string name="classifieds_category_other">سایر</string>
<string name="failed_to_upload_media_no_details">رسانه بارگذاری نشد</string>
<string name="could_not_open_the_compressed_file">فایل فشرده باز نشد</string>
<string name="error_when_compressing_media">خطا در فشرده سازی رسانه: %1$s</string>
<string name="failed_to_upload_media">خطای بارگیری: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">سرور پس از بارگذاری URL نداد</string>
<string name="could_not_download_from_the_server">فایل بارگذاری شده از سرور بارگیری نشد</string>
<string name="could_not_check_downloaded_file">فایل بارگیری شده پس از بارگذاری بررسی نشد: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">فایل محلی برای بارگذاری آماده نشد: %1$s</string>
<string name="failed_to_upload_to_server_with_message">بارگذاری نشد %1$s: %2$s</string>
<string name="failed_to_upload_with_message">بارگذاری نشد: %1$s</string>
<string name="failed_to_delete_with_message">حذف نشد: %1$s</string>
<string name="media_too_big_for_nip95">رسانه برای NIP-95 بسیار بزرگ است</string>
<string name="unable_to_load_thumbnail">ریزتصویر بارگیری نشد</string>
<string name="could_not_prepare_header">اطلاعات سربرگ آماده نشد: %1$s</string>
<string name="compression_cancelled">فشرده سازی لغو شد</string>
<string name="compression_returned_null">فشرده سازی فایل خروجی نساخت</string>
<string name="media_compression_quality_label">کیفیت رسانه</string>
<string name="media_compression_quality_explainer">کیفیت کم را انتخاب کنید تا رسانه را به شکل فایل کوچکتری ذخیره کند، کیفیت بالا برای ذخیره به شکل فایل بزرگتر و نافشرده برای بارگذاری رسانه بدون فشرده سازی است.</string>
<string name="media_compression_quality_low">پایین</string>
@@ -784,16 +619,12 @@
<string name="media_compression_quality_uncompressed">نافشرده</string>
<string name="edit_draft">ویرایش پیش‌نویس</string>
<string name="login_with_qr_code">ورود با کد QR</string>
<string name="route">مسیر</string>
<string name="route_home">خانه</string>
<string name="route_search">جستجو</string>
<string name="route_discover">کاوش</string>
<string name="route_messages">پیغام‌ها</string>
<string name="route_notifications">اعلان‌ها</string>
<string name="route_global">سراسری</string>
<string name="route_video">کوتاه</string>
<!-- Onchain zap send dialog -->
<string name="route_security_filters">فیلترهای ایمنی</string>
<string name="new_post">نوشته جدید</string>
<string name="new_short">رسانه های کوتاه جدید: تصاویر یا ویدئوها</string>
<string name="new_community_note">یادداشت جدید در انجمن</string>
@@ -808,32 +639,22 @@
<string name="relay_info">رله %1$s</string>
<string name="expand_relay_list">گسترش لیست رله</string>
<string name="note_options">گزینه های یادداشت</string>
<string name="relay_list_selector">انتخابگر لیست رله</string>
<string name="poll">نظرسنجی</string>
<string name="disable_poll">غیرفعال کردن نظرسنجی</string>
<string name="add_bitcoin_invoice">صورت حساب بیتکوین</string>
<string name="cancel_bitcoin_invoice">لغو صورت حساب بیتکوین</string>
<string name="cancel_classifieds">لغو فروش</string>
<string name="add_zapraiser">زپ ریزون</string>
<string name="cancel_zapraiser">لغو زپ ریزون</string>
<string name="add_location">موقعیت مکانی</string>
<string name="remove_location">حذف موقعیت مکانی</string>
<string name="add_zap_split">تقسیم زپ</string>
<string name="cancel_zap_split">لغو تقسیم زپ</string>
<string name="add_content_warning">افزودن هشدار محتوا</string>
<string name="remove_content_warning">حذف هشدار محتوا</string>
<string name="show_npub_as_a_qr_code">کلید عمومی را به شکل کد QR نشان بده</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_description">با این تنظیمات همه می توانند بدانند که هنگام ارسال پیام به شما از کدام رله ها استفاده کنند. بدون این تنظیمات ممکن است برخی پیام ها را از دست بدهید.</string>
<string name="dm_relays_not_found_examples">گزینه های خوب:
- inbox.nostr.wine (پولی)
- auth.nostr1.com (رایگان)
- you.nostr1.com (رله شخصی - پولی)</string>
<string name="dm_relays_not_found_examples2">گزینه های خوب:
- inbox.nostr.wine (پولی)
- auth.nostr1.com (رایگان)
@@ -845,7 +666,6 @@
<string name="search_relays_not_found_description">ساخت لیستی از رله های مخصوص جستجو و تگ کردن کاربر باعث بهبود این نتایج خواهد شد.</string>
<string name="search_relays_not_found_editing">بین ۱-۳ رله بیافزایید تا هنگام جستجوی محتوا یا تگ کردن کاربران از آنها استفاده شود. حتما رله های انتخابی باید NIP-50 را پیاده‌سازی کرده باشند.</string>
<string name="search_relays_not_found_examples">انتخاب های مناسب: \n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
<string name="dm_upload">بارگذاری پیام خصوصی</string>
<string name="relay_settings">تنظیمات رله</string>
<string name="public_home_section">رله های خانه/ صندوق خروجی عمومی</string>
<string name="public_home_section_explainer">این نوع از رله تمام محتوای شما را ذخریه می کند. امتیست پست های شما را اینجا می فرستد و دیگران از این رله ها برای یافتن محتوای شما استفاده می کنند. بین ۱-۳ رله وارد کنید. این رله ها ممکن است رله های شخصی، پولی، یا عمومی باشند.</string>
@@ -858,10 +678,6 @@
- you.nostr1.com (رله پولی یا شخصی)</string>
<string name="private_outbox_section">رله های خصوصی خانه</string>
<string name="private_outbox_section_explainer">بین ۱-۳ رله وارد کنید برای ذخیره رویدادهایی که هیچ کس دیگر نمی بیند ، به عنوان مثال پیش نویس های شما و یا تنظیمات اپلیکیشن. در حالت ایده آل، این رله ها یا محلی هستند یا پیش از بارگیری محتوای کاربر به احراز هویت نیاز دارند.</string>
<string name="kind_3_section">رله های کلی</string>
<string name="kind_3_section_description">امتیست از این رله ها استفاده می کند تا پست ها را برایتان بارگیری کند.</string>
<string name="kind_3_recommended_section">رله های پیشنهادی</string>
<string name="kind_3_recommended_section_description">رله های روبرو را به لیست رله های کلی خود بیافزایید تا پست های کاربران لیست شده را دریافت کنید.</string>
<string name="search_section">رله های جستجو</string>
<string name="search_section_explainer">لیست رله هایی که هنگام جستجوی محتوا یا کاربران مورد استفاده قرار می گیرند. اگر انتخابی در موجود نباشد، تگ کردن یا جستجو کار نخواهد کرد. حتما مطمئن شوید این رله ها را NIP-50 پیاده‌سازی کرده باشند.</string>
<string name="local_section">رله های محلی</string>
@@ -873,11 +689,8 @@
<string name="this_version_brought_to_you_by">این نسخه نرم‌افزار پیشکش از:</string>
<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">مخزن گیت: %1$s</string>
<string name="git_web_address">وب:</string>
<string name="git_clone_address">نسخه برداری:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -885,20 +698,13 @@
<string name="ots_info_description">مدرکی وجود دارد که ثابت کند این پست پیش از %1$s امضا شده است. این مدرک در بلاکچین بیتکوین در آن تاریخ و زمان ثبت شده است.</string>
<string name="edit_post">ویرایش نوشته</string>
<string name="proposal_to_edit">پیشنهاد برای بهبود یک نوشته</string>
<string name="message_to_author">خلاصه تغییرات</string>
<string name="message_to_author_placeholder">اصلاحات سریع…</string>
<string name="accept_the_suggestion">پذیرش پیشنهاد</string>
<string name="enter_picture_in_picture">ویديو را در قاب جدا باز کن</string>
<string name="accessibility_download_for_offline">بارگيری</string>
<string name="accessibility_lyrics_on">روشن کردن متن</string>
<string name="accessibility_lyrics_off">متن خاموش</string>
<string name="accessibility_turn_on_sealed_message">پیام مهروموم شده خاموش است. برای روشن کردن کلیک کنید.</string>
<string name="accessibility_turn_off_sealed_message">پیام مهروموم شده روشن است. برای خاموش کردن کلیک کنید.</string>
<string name="accessibility_send">ارسال</string>
<string name="accessibility_play_username">نام کاربری را به شکل صوتی بخوان.</string>
<string name="accessibility_pushpin">Pushpin</string>
<string name="accessibility_scan_qr_code">کد QR را اسکن کنید</string>
<string name="accessibility_navigate_to_alby">رفتن به البی، ارائه دهنده کیف پول شخص ثالث.</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">پاسخ به پیش نویس یادداشت ممکن نیست.</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">نقل قول از پیش نویس یادداشت ممکن نیست.</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">واکنش به پیش نویس یادداشت ممکن نیست.</string>
@@ -939,15 +745,12 @@
<string name="http_status_507">فضای ذخیره ناکافی - سرور فضای کافی برای پردازش موفق درخواست ندارد</string>
<string name="http_status_508">حلقه دیده شد - سرور یک حلقه بینهایت در پردازش این درخواست شناسایی کرد</string>
<string name="http_status_511">احراز هویت الزامی - کلاینت برای دسترسی به شبکه می بایست احراز هویت شده باشد</string>
<string name="media_servers_nip96_section">سرورهای NIP-96</string>
<string name="media_servers_nip96_explainer">هر تعداد سرور که می خواهید اضافه کنید. می توانید بعدا هنگام بارگذاری تصویرتان انتخاب کنید که از کدام سرور استفاده شود</string>
<string name="media_servers_blossom_section">سرورهای Blossom</string>
<string name="media_servers_blossom_explainer">هر تعداد سرور که می خواهید اضافه کنید. می توانید بعدا هنگام بارگذاری تصویرتان انتخاب کنید که از کدام سرور استفاده شود</string>
<string name="add_a_nip96_server">یک سرور NIP-96 بیافزایید</string>
<string name="add_a_blossom_server">یک سرور Blossom بیافزایید</string>
<string name="delete_all">حذف همه</string>
<string name="delete_all_drafts_confirmation">مطمئنید می خواهید حذف کنید؟</string>
<string name="stack">استک:</string>
<string name="torrent_file">فایل تورنت</string>
<string name="torrent_download">بارگيری</string>
<string name="torrent_failure">فایل باز نشد</string>
@@ -966,4 +769,10 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">خدمات لایتنینگ %1$s گیرنده دردسترس نیست. از آدرس لایتنینگ \"%2$s\" محاسبه شد. خطا: %3$s. بررسی کنید آیا سرور کار می کند و آیا آدرس لایتنینگ صحیح است.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد. \n\nخطای %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از دریافت صورتحساب %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">صورت حساب لایتنینگ ساخته نشد. پیغام از %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">نمی توان صورتحساب لایتنینگ از %1$s ساخت. المنت pr در JSON بدست آمده یافت نشد.</string>
</resources>
+5 -196
View File
@@ -20,8 +20,6 @@
<string name="impersonation">جعل هویت</string>
<string name="illegal_behavior">رفتار ناهنجار</string>
<string name="other">سایر</string>
<string name="unknown">ناشناس</string>
<string name="relay_icon">آیکن رله</string>
<string name="unknown_author">نویسنده ناشناس</string>
<string name="copy_text">کپی متن</string>
<string name="copy_user_pubkey">کپی شناسه نویسنده</string>
@@ -35,12 +33,9 @@
<string name="block_hide_user"><![CDATA[بلاک/پنهان کردن کاربر]]></string>
<string name="report_spam_scam">گزارش اسپم/کلاهبرداری</string>
<string name="report_impersonation">گزارش جعل هویت</string>
<string name="report_explicit_content">گزارش محتوای نامناسب</string>
<string name="report_illegal_behaviour">گزارش رفتار ناهنجار</string>
<string name="report_malware">گزارش بدافزار</string>
<string name="report_mod">گزارش مود</string>
<string name="malware">بدافزار</string>
<string name="mod">مود</string>
<string name="login_with_a_private_key_to_be_able_to_reply">با کلید خصوصی وارد شوید تا بتوانید پاسخ دهید</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">با کلید خصوصی وارد شوید تا بتوانید یادداشت را بازنشر کنید</string>
<string name="login_with_a_private_key_to_like_posts">با کلید خصوصی وارد شوید تا بتوانید یادداشت را لایک کنید</string>
@@ -51,7 +46,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">دارید از کلید عمومی استفاده می کنید و با کلید عمومی فقط می توان خواند. با کلید خصوصی وارد شوید تا بتوانید کلمه یا جمله ای را پنهان کنید.</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">دارید از کلید عمومی استفاده می کنید و با کلید عمومی فقط می توان خواند. با کلید خصوصی وارد شوید تا بتوانید کلمه یا جمله ای را آشکار کنید</string>
<string name="zaps">زپ</string>
<string name="view_count">دیدن تعداد</string>
<string name="boost">بازنشر</string>
<string name="boosted">بازنشر شده</string>
<string name="edited">ویرایش شده</string>
@@ -64,9 +58,7 @@
<string name="add">افزودن</string>
<string name="replying_to">" پاسخ به"</string>
<string name="and">" و "</string>
<string name="in_channel">"در کانال "</string>
<string name="profile_banner">بنر پروفایل</string>
<string name="payment_successful">پرداخت موفق</string>
<string name="error_parsing_error_message">خطا در تفسیر پیغام خطا</string>
<string name="following">"دنبال شونده"</string>
<string name="followers">"دنبال کننده"</string>
@@ -81,9 +73,7 @@
<string name="thank_you_so_much">!خیلی ممنون</string>
<string name="amount_in_sats">مبلغ به ساتوشی</string>
<string name="send_sats">ارسال ساتوشی</string>
<string name="error_parsing_preview_for">" %1$s : %2$s خطا در تبدیل"</string>
<string name="preview_card_image_for">"%1$s پیش نمایش تصویر کارت برای"</string>
<string name="new_channel">کانال جدید</string>
<string name="channel_name">نام کانال</string>
<string name="my_awesome_group">گروه باحال من</string>
<string name="picture_url">آدرس تصویر</string>
@@ -94,32 +84,18 @@
<string name="save">ذخیره</string>
<string name="create">ساختن</string>
<string name="cancel">لغو</string>
<string name="failed_to_upload_the_image">تصویر بارگذاری نشد</string>
<string name="relay_address">آدرس رله</string>
<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>
<string name="global_feed">خبرنامه همگانی</string>
<string name="search_feed">جستجو در خبرنامه</string>
<string name="add_a_relay">افزودن رله</string>
<string name="display_name">نمایش نام</string>
<string name="my_display_name">نام من</string>
<string name="my_awesome_name">استریچ باحالیان</string>
<string name="welcome">خوش آمدی استریچ!</string>
<string name="username">نام کاربری</string>
<string name="my_username">نام کاربری من</string>
<string name="about_me">درباره من</string>
<string name="avatar_url">آدرس آواتار</string>
<string name="banner_url">آدرس بنر</string>
<string name="website_url">آدری وبسایت</string>
<string name="pronouns">ضمیرها</string>
<string name="ln_address">آدرس لایتنینگ</string>
<string name="ln_url_outdated">آدرس لایتنینگ(نقل شده)</string>
<string name="save_to_gallery">در گالری ذخیره کن</string>
<string name="image_saved_to_the_gallery">تصویر در گالری ذخیره شد</string>
<string name="video_download_has_started_toast">بارگیری ویدئو آغاز شد…</string>
<string name="media_download_has_started_toast">بارگیری رسانه آغاز شد…</string>
@@ -127,11 +103,8 @@
<string name="video_saved_to_the_gallery">ویدئو در گالری گوشی ذخیره شد</string>
<string name="failed_to_save_the_video">ویدئو ذخیره نشد</string>
<string name="upload_image">بارگذاری تصویر</string>
<string name="uploading">…در حال بارگذاری</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">این کاربر آدرس لایتنینگ برای دریافت ساتوشی تنظیم نکرده است</string>
<string name="reply_here">"…اینجا پاسخ دهید "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">شناسه یادداشت را برای اشتراک گذاری در کلیپبورد ذخیره می کند </string>
<string name="copy_channel_id_note_to_the_clipboard">ذخیره شناسه کانال در کلیپبورد</string>
<string name="edits_the_channel_metadata">متادیتای کانال را ذخیره می کند</string>
<string name="join">پیوستن</string>
<string name="known">شناس</string>
@@ -142,18 +115,14 @@
<string name="notes">یادداشت ها</string>
<string name="replies">پاسخ ها</string>
<string name="gallery">گالری</string>
<string name="follows">"دنبال شوندگان"</string>
<string name="reports">"گزارش ها"</string>
<string name="more_options">انتخاب های بیشتر</string>
<string name="relays">"رله ها"</string>
<string name="website">وبسایت</string>
<string name="lightning_address">آدرس لایتنینگ</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">شناسه کلید خصوصی (پسوردتان) را در کلیپبورد کپی می کند(</string>
<string name="copy_private_key_to_the_clipboard">کپی کردن کلید خصوصی در کلیپبورد</string>
<string name="show_private_key_qr_code">نمایش کد QR کلید خصوصی</string>
<string name="show_encrypted_private_key_qr_code">نمایش کد QR کلید خصوصی رمزنگاری شده</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">کلید عمومی را برای اشتراک گذاری در کلیپبورد ذخیره می کند</string>
<string name="copy_public_key_npub_to_the_clipboard">کپی کردن کلید عمومی در کلیپبورد</string>
<string name="send_a_direct_message">ارسال پیام مستقیم</string>
<string name="edits_the_user_s_metadata">متادیتای کاربر را ویرایش می کند</string>
<string name="follow">دنبال کردن</string>
@@ -182,8 +151,6 @@
<string name="how_should_we_call_you">شما را چی صدا بزنیم؟</string>
<string name="don_t_have_an_account">حساب کاربری ناستر ندارید؟</string>
<string name="already_have_an_account">از قبل حساب کاربری ناستر دارید؟</string>
<string name="create_a_new_account">ایجاد حساب کاربری جدید</string>
<string name="generate_a_new_key">ساختن جفت کلید جدید</string>
<string name="loading_feed">در حال بارگیری خبرنامه</string>
<string name="loading_account">بارگذاری حساب کاربری</string>
<string name="error_loading_replies">" :خطا در بارگیری پاسخ ها"</string>
@@ -191,12 +158,6 @@
<string name="notification_feed_is_empty">هنوز هیچ اعلانی نیست.</string>
<string name="feed_is_empty">خبرنامه خالیست</string>
<string name="refresh">تازه‌سازی</string>
<string name="created">ساخته شد</string>
<string name="with_description_of">با توصیف</string>
<string name="and_picture">و تصویر</string>
<string name="changed_chat_name_to">نام گفتگو تغییر کرد به</string>
<string name="description_to">تصویر</string>
<string name="and_picture_to">و تصویر به</string>
<string name="leave">ترک کردن</string>
<string name="unfollow">دنبال نکردن</string>
<string name="channel_created">کانال ساخته شد</string>
@@ -222,7 +183,6 @@
<string name="profanity_hateful_speech">ناسزا / نفرت پراکنی</string>
<string name="report_hateful_speech">گزارش نفرت پراکنی</string>
<string name="report_nudity_porn">گزارش برهنگی / پورن</string>
<string name="others">سایر</string>
<string name="mark_all_known_as_read">همه شناس ها خوانده شده کن</string>
<string name="mark_all_new_as_read">همه جدیدها را خوانده شده کن</string>
<string name="mark_all_as_read">همه را خوانده شده کن</string>
@@ -242,23 +202,18 @@
<string name="biometric_authentication_failed">احراز هویت انجام نشد</string>
<string name="biometric_authentication_failed_explainer">مشخصات بیومتریک نتوانست مالک این تلفن را احراز هویت کند</string>
<string name="biometric_authentication_failed_explainer_with_error">مشخصات بیومتریک نتوانست مالک این تلفن را احراز هویت کند. خطا: %1$s</string>
<string name="biometric_error">خطا</string>
<string name="badge_created_by">"ساخته شده توسط %1$s"</string>
<string name="badge_award_image_for">"تصویر مدال پاداش برای %1$s"</string>
<string name="new_badge_award_notif">یک مدال پاداش دریافت کردید</string>
<string name="award_granted_to">مدال پاداش داده شد به</string>
<string name="copied_note_text_to_clipboard">یادداشت در کلیپبورد کپی شد</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npubنویسنده در کلیپبورد کپی شد </string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">(@note1)شناسه یادداشت در کلیپبورد کپی شد</string>
<string name="select_text_dialog_top">انتخاب متن</string>
<string name="private_conversation_notification">"&lt;پیام خصوصی رمزگشایی نشد&gt;\\n\nدر یک پیام خصوصی/رمزنگاری شده بین %1$s و %2$s نام شما آمده بود."</string>
<string name="account_switch_add_account_dialog_title">افزودن حساب کاربری جدید</string>
<string name="drawer_accounts">حساب های کاربری</string>
<string name="account_switch_select_account">انتخاب حساب کارگری</string>
<string name="account_switch_add_account_btn">افزودن حساب کاربری جدید</string>
<string name="account_switch_active_account">حساب کاربری فعال</string>
<string name="account_switch_has_private_key">کلید خصوصی دارد</string>
<string name="account_switch_pubkey_only">فقط خواندن، کلید خصوصی ندارد</string>
<string name="back">بازگشت</string>
<string name="quick_action_select">انتخاب</string>
<string name="quick_action_share_browser_link">اشتراک گذاری لینک مرورگر</string>
@@ -276,14 +231,12 @@
<string name="quick_action_delete_dialog_btn">حذف</string>
<string name="quick_action_block">بلاک</string>
<string name="quick_action_report">گزارش</string>
<string name="quick_action_delete_button">حذف</string>
<string name="quick_action_dont_show_again_button">دوباره نشان نده</string>
<string name="report_dialog_spam">اسپم یا کلاهبرداری</string>
<string name="report_dialog_profanity">محتوای نفرت پراکنی یا ناسزا</string>
<string name="report_dialog_impersonation">جعل هویت بدخواهانه</string>
<string name="report_dialog_nudity">محتوای برهنگی یا نمایان</string>
<string name="report_dialog_illegal">رفتار ناهنجار</string>
<string name="report_dialog_malware">نرم‌افزار خرابکار</string>
<string name="report_dialog_blocking_a_user">بلاک کردن کاربر محتوای ایشان را در اپ شما پنهان می کند. یادداشت های شما همچنان بطور عمومی دیده می شوند که شامل کاربران بلاک شده توسط شما نیز هست. کاربران بلاک شده در صفحه فیلترهای ایمنی فهرست می شوند.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[مسدود و پنهان کردن کاربر]]></string>
<string name="report_dialog_report_btn">گزارش سواستفاده</string>
@@ -303,30 +256,15 @@
<string name="add_to_public_bookmarks">افزودن به علامت گذاشته های عمومی</string>
<string name="remove_from_private_bookmarks">برداشتن از علامت گذاشته های خصوصی</string>
<string name="remove_from_public_bookmarks">برداشتن از علامت گذاشته های خصوصی</string>
<string name="wallet_connect_service">خدمات اتصال به کیف پول</string>
<string name="wallet_connect_service_explainer">به رمز ناستر اجازه بده زپ را بدون ترک اپ برداخت کند. این رمز را امن نگه دارید و درصورت امکان از رله خصوصی استفاده کنید</string>
<string name="wallet_connect_service_pubkey">کلید عمومی اتصال به کیف پول</string>
<string name="wallet_connect_service_relay">رله اتصال به کیف پول</string>
<string name="wallet_connect_service_secret">رمز اتصال به کیف پول</string>
<string name="wallet_connect_service_show_secret">نمایش کلید خصوصی</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex کلید خصوصی</string>
<string name="pledge_amount_in_sats">مبلغ وثیقه به ساتوشی</string>
<string name="post_poll">ارسال نظرسنجی</string>
<string name="poll_heading_required">قسمت های الزامی:</string>
<string name="poll_zap_recipients">دریافت کنندگان زپ</string>
<string name="poll_primary_description">توضیحات اولیه نظرسنجی…</string>
<string name="poll_option_index">گزینه ها %s</string>
<string name="poll_option_description">توضیح گزینه های نظرسنجی</string>
<string name="poll_heading_optional">قسمت های اختیاری:</string>
<string name="poll_zap_value_min">حداقل زپ</string>
<string name="poll_zap_value_max">حداکثر زپ</string>
<string name="poll_consensus_threshold">توافق نظر</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">بسته شدن پس از</string>
<string name="poll_closing_time_days">روز</string>
<string name="poll_unable_to_vote">نمی توان رای داد</string>
<string name="poll_is_closed_explainer">این نظرسنجی برای رای جدید بسته شده است</string>
<string name="poll_zap_amount">مبلغ زپ</string>
<string name="one_vote_per_user_on_atomic_votes">فقط یک رای به ازای هر کاربر در این نوع نظرسنجی مجاز است</string>
<string name="looking_for_event">"جستجوی رویداد %1$s"</string>
<string name="custom_zaps_add_a_message">افزودن پیام عمومی</string>
@@ -360,12 +298,9 @@
<string name="zap_type_nonzap_explainer">هیچ ردی در نوستر نمی ماند، فقط در شبکه لایتنینگ انجام می شود</string>
<string name="file_server">سرور فایل</string>
<string name="file_server_description">یک سرور برای بارگذاری این فایل انتخاب کنید</string>
<string name="zap_forward_lnAddress">آدرس لایتنینگ یا @User</string>
<string name="media_servers">سرورهای رسانه</string>
<string name="set_preferred_media_servers">سرورهای مورد علاقه خود برای بارگزاری رسانه را انتخاب کنید.</string>
<string name="no_nip96_server_message">هیچ مجموعه سرور NIP-96 ندارید. می توانید از لیست امتیست استفاده کنید، یا از لیست زیر اضافه کنید↓</string>
<string name="no_blossom_server_message">هیچ سروری برای Blossom ندارید. می توانید از لیست امتیست استفاده کنید، یا از لیست زیر اضافه کنید↓</string>
<string name="built_in_media_servers_title">سرورهای داخلی رسانه</string>
<string name="built_in_servers_description">لیست پیش فرض امتیست. می توانید تک به تک یا تمام لیست را اضافه کنید.</string>
<string name="use_default_servers">استفاده از لیست پیش فرض</string>
<string name="add_media_server">افزودن سرور رسانه</string>
@@ -378,31 +313,16 @@
<string name="uploading_state_hashing">در حال هش کردن</string>
<string name="uploading_state_finished">انجام شد</string>
<string name="uploading_state_error">خطا</string>
<string name="upload_server_relays_nip95">رله های شما (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">فایل ها در رله های شما میزبانی می شوند. NIPجدید: بررسی کنید آیا پشتیبانی می کنند یا خیر </string>
<string name="privacy_options">گزینه های حریم خصوصی</string>
<string name="connect_via_tor_short">Tor/Orbot تنظیمات</string>
<string name="connect_via_tor"> از طریق تنظیم Orbot متصل شوید</string>
<string name="connect_via_tor1">تنظیم</string>
<string name="connect_via_tor2">تنظیمات تور</string>
<string name="do_you_really_want_to_disable_tor_title">قطع اتصال از Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">داده های شما بلافاصله در شبکه معمولی منتقل می شوند</string>
<string name="yes">بله</string>
<string name="no">خیر</string>
<string name="follow_list_selection">لیست دنبال ها</string>
<string name="follow_list_kind3follows">همه دنبال ها</string>
<string name="follow_list_aroundme">اطراف من</string>
<string name="follow_list_global">همگانی</string>
<string name="follow_list_mute_list">لیست خموش</string>
<string name="connect_through_your_orbot_setup_short">درگاه پیش فرض 9050 است</string>
<string name="connect_through_your_orbot_setup_markdown"> ## از طریق Tor با Orbot متصل شوید
\n\n1. نصب کنید [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. شروع Orbot
\n3. در Orbot, پورت Socksرا علامت بزنید.مقدار پیش فرض 9050 است.
\n4. اگر لازم است پورت Orbot را تغییر دهید
\n5. پورت Socks را در این صفحه پیکربندی کنید
\n6. دکمه Activate را بفشارید تا از Orbot به عنوان پراکسی استفده نمایید
</string>
<string name="orbot_socks_port">درگاه Orbot Socks</string>
<string name="use_internal_tor">موتور فعال تور</string>
<string name="use_internal_tor_explainer">استفاده از نسخه درونی یا Orbot</string>
@@ -444,8 +364,6 @@
<string name="tor_full_privacy_explainer">IP خود را در تمام ارتباطات پنهان کن</string>
<string name="tor_custom_explainer">خودت را بساز</string>
<string name="invalid_port_number">شماره پورت نامعتبر</string>
<string name="use_orbot">استفاده از Orbot</string>
<string name="disconnect_from_your_orbot_setup">قطع اتصال Tor/Orbot</string>
<string name="app_notification_dms_channel_name">پیام خصوصی</string>
<string name="app_notification_dms_channel_description">وقتی پیام خصوصی دریافت شود اعلان می کند</string>
<string name="app_notification_zaps_channel_name">زپ دریافت شده</string>
@@ -454,20 +372,9 @@
<string name="app_notification_zaps_channel_message_from">از %1$s</string>
<string name="app_notification_zaps_channel_message_for">برای %1$s</string>
<string name="reply_notify">اعلان: </string>
<string name="channel_list_join_conversation">پیوستن به گفتگو</string>
<string name="channel_list_user_or_group_id">شناسه گروه یا کاربر</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent یا hex</string>
<string name="channel_list_create_channel">ساختن</string>
<string name="channel_list_join_channel">پیوستن</string>
<string name="today">امروز</string>
<string name="content_warning">هشدار محتوا</string>
<string name="content_warning_explanation">این یادداشت حاوی محتوای حساس است که ممکن است از نظر برخی توهین آمیز یا مشوش کننده باشد</string>
<string name="content_warning_hide_all_sensitive_content">همیشه محتوای حساس را پنهان کن</string>
<string name="content_warning_show_all_sensitive_content">همیشه محتوای حساس را نشان بده</string>
<string name="content_warning_see_warnings">همیشه هشدار محتوا را نشان بده</string>
<string name="recommended_apps">توصیه ها: </string>
<string name="filter_spam_from_strangers">اسپم غریبه ها را فیلتر کن</string>
<string name="warn_when_posts_have_reports_from_your_follows">اگر یادداشت توسط افرادی که فالو می کنید گزارش شده هشدار بده</string>
<string name="new_reaction_symbol">نماد جدید واکنش</string>
<string name="no_reaction_type_setup_long_press_to_change">هیچ نوع واکنشی انتخاب نشده. نگه دارید تا تغییر دهید</string>
<string name="zapraiser">زپ گیری</string>
@@ -478,37 +385,24 @@
<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>
<string name="software">نرم‌افزار</string>
<string name="contact">مخاطب</string>
<string name="supports">NIP های پشتیبانی شده</string>
<string name="admission_fees">کارمزد تراکنش</string>
<string name="payments_url">Url پرداخت ها</string>
<string name="limitations">محدودیت ها</string>
<string name="countries">کشورها</string>
<string name="languages">زبان‌ها</string>
<string name="tags">برچسب‌ها</string>
<string name="posting_policy">سیاست ارسال محتوا</string>
<string name="relay_error_messages">خطاها و هشدارهای از این رله</string>
<string name="message_length">طول پیام</string>
<string name="subscriptions">اشتراک</string>
<string name="filters">فیلترها</string>
<string name="subscription_id_length">طول شناسه اشتراک</string>
<string name="minimum_prefix">حداقل پیشوند</string>
<string name="maximum_event_tags">حداکثر تعداد برچسب رویداد</string>
<string name="content_length">طول محتوا</string>
<string name="minimum_pow">حداقل PoW</string>
<string name="auth">احراز هویت</string>
<string name="payment">پرداخت</string>
<string name="cashu">توکن Cashu</string>
<string name="cashu_redeem">بازپرداخت</string>
<string name="cashu_redeem_to_zap">ارسال به کیف پول زپ</string>
<string name="cashu_redeem_to_cashu">باز کردن در کیف پول Cashu</string>
<string name="cashu_copy_token">کپی کردن توکن</string>
<string name="no_lightning_address_set">آدرس لایتنینگ تنظیم نشده است</string>
<string name="copied_token_to_clipboard">توکن به کلیپبورد کپی شد</string>
<string name="live_stream_live_tag">زنده</string>
<string name="live_stream_offline_tag">آفلاین</string>
<string name="live_stream_ended_tag">تمام شد</string>
@@ -528,7 +422,6 @@
<string name="preferences">ترجیحات اپ</string>
<string name="settings">تنظیمات</string>
<string name="connectivity_type_always">همیشه</string>
<string name="connectivity_type_wifi_only">فقط Wifi</string>
<string name="connectivity_type_unmetered_wifi_only">وای فای بی اندازه</string>
<string name="connectivity_type_never">هرگز</string>
<string name="ui_feature_set_type_complete">کامل</string>
@@ -552,7 +445,6 @@
<string name="ui_style_description">قیافه پست را انتخاب کن</string>
<string name="gallery_style">سبک گالری نمایه</string>
<string name="gallery_style_description">انتخاب سبک گالری</string>
<string name="load_image">بارگیری تصویر</string>
<string name="spamming_users">اسپمر</string>
<string name="muted_button">بیصدا شده. برای لغو کلیک کنید</string>
<string name="mute_button">باصدا. برای بیصدا کردن کلیک کنید</string>
@@ -560,12 +452,8 @@
<string name="nip05_verified">آدرس ناستر تایید شده بود</string>
<string name="nip05_failed">آدرس ناستر تایید نشد</string>
<string name="nip05_checking">بررسی آدرس ناستر</string>
<string name="select_deselect_all">انتخاب یا لغو انتخاب همه</string>
<string name="default_relays">پیش‌فرض</string>
<string name="default_relays_longer">بازگشت به حالت پیش فرض</string>
<string name="select_a_relay_to_continue">برای ادامه یک رله انتخاب کنید</string>
<string name="zap_forward_title">باز ارسال زپ ها به:</string>
<string name="zap_forward_explainer">کلاینت هایی که این قابلیت را دارند زپ ها را به جای شما به LNAddress یا نمایه کاربر زیر می فرستند</string>
<string name="geohash_title">افشای مکان به عنوان </string>
<string name="geohash_explainer">یک هش جغرافیایی از مکان شما به این یادداشت می افزاید. دیگران خواهند دانست که شما در فاصله 5 کیلومتری (3 مایلی) این مکان هستید.</string>
<string name="geohash_exclusive">پست اختصاصی مکان</string>
@@ -573,9 +461,6 @@
<string name="loading_location">بارگیری مکان</string>
<string name="lack_location_permissions">اجازه ثبت مکان داده نشده</string>
<string name="add_sensitive_content_explainer">پیش از نمایش محتوای شما، هشدار محتوای حساس به آن می افزاید. این برای هرگونه محتوای نامناسب برای محیط کار یا هر محتوای دیگری که برخی ممکن است توهین آمیز یا مشوش کننده بدانند خوب است.</string>
<string name="new_feature_nip17_might_not_be_available_title">ویژگی جدید</string>
<string name="new_feature_nip17_might_not_be_available_description">برای فعال سازی این حالت لازم است اماتیست یک پیغام NIP-17 بفرستد (پیغام های GiftWrapped, Sealed Direct and Group). مطمئن شوید که گیرنده از کلاینتی سازگاز استفاده می کند.</string>
<string name="new_feature_nip17_activate">فعال‌سازی</string>
<string name="messages_create_public_chat">عمومی</string>
<string name="messages_create_public_private_chat_description">گروه خصوصی یا عمومی جدید</string>
<string name="messages_new_message">خصوصی</string>
@@ -592,7 +477,6 @@
<string name="automatically_load_images_gifs_description">بارگیری خودکار تصاویر و جیف ها</string>
<string name="automatically_play_videos_description">پخش خودکار ویدئوها و جیف ها</string>
<string name="automatically_show_url_preview_description">نشان دادن پیش نمایش URL</string>
<string name="load_image_description">هنگام بارگیری تصاویر</string>
<string name="copy_stack_to_clipboard">کپی استک</string>
<string name="copy_to_clipboard">کپی به کلیپ‌بورد</string>
<string name="copy_npub_to_clipboard">کپی کلید عمومی در کلیپبورد</string>
@@ -603,45 +487,23 @@
<string name="media_added">رسانه افزوده شد</string>
<string name="media_added_to_profile_gallery">رسانه به گالری نمایه شما افزوده شد</string>
<string name="created_at">ایجاد شده در</string>
<string name="rules">قوانین</string>
<string name="login_with_external_signer">ورود با Amber</string>
<string name="status_update">بارگذاری وضعیت</string>
<string name="lightning_wallets_not_found">خطا در تفسیر پیغام خطا</string>
<string name="poll_zap_value_min_max_explainer">آراء با مبلغ زپ سنجیده می شوند. می توانید برای جلوگیری از اسپم یک مبلغ حداقل تعیین کنید و برای جلوگیری از دستکاری نتیجه با زپ های بزرگ یک مبلغ حداکثر تعیین کنید. برای اینکه همه آراء ارزش یکسان داشته باشند در هر دو قسمت یک مبلغ را بزنید. یا این قسمت را خالی بگذارید تا هر مبلغ زپی را بپذیرد.</string>
<string name="error_dialog_zap_error">زپ فرستاده نمی شود</string>
<string name="error_dialog_talk_to_user">پیام به کاربر</string>
<string name="error_dialog_talk_to_user_name">پیغام %1$s</string>
<string name="error_dialog_button_ok">قبول</string>
<string name="relay_information_document_error_assemble_url">به %1$s نرسید: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">آدرس NIP-11 ساخته نشد به دلیل %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">به %1$s نتوانست برسد: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">پاسخ %1$s تفسیر نشد: %2$s</string>
<string name="relay_information_document_error_failed_with_http">رله درخواست %1$s را رد کرد: %2$s</string>
<string name="relay_information_document_error_reach_server">به %1$s نرسید: %2$s</string>
<string name="relay_information_document_error_parse_result">نتایج %1$s تفسیر نشد: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s کد %2$s را انجام نداد</string>
<string name="active_for">فعال برای: </string>
<string name="active_for_home">خانه</string>
<string name="active_for_msg">پیام های خصوصی</string>
<string name="active_for_chats">گپ</string>
<string name="active_for_global">همگانی</string>
<string name="active_for_search">جستجو</string>
<string name="zap_split_title">تقسیم و فرستادن زپ ها</string>
<string name="zap_split_explainer">کلاینت هایی که این ویژگی را دارند زپ ها را تقسیم کرده و به جای شما کاربرانی که اینجا افزوده اید می فرستند</string>
<string name="zap_split_search_and_add_user">جستجو و افزودن کاربر</string>
<string name="zap_split_search_and_add_user_placeholder">نام کاربری یا نام نمایشی</string>
<string name="missing_lud16">تنظیمات لایتنینگ موجود نیست</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">کاربر %1$s آدرس لایتنینگ برای دریافت ساتوشی تنظیم نکرده است</string>
<string name="zap_split_weight">درصد</string>
<string name="zap_split_weight_placeholder">۲۵</string>
<string name="splitting_zaps_with">تقسیم زپ با</string>
<string name="forwarding_zaps_to">بازفرستادن زپ به</string>
<string name="lightning_wallets_not_found2">کیف پول لایتنینگی یافت نشد</string>
<string name="paid">پرداخت شد</string>
<string name="wallet_number">کیف پول %1$s</string>
<string name="error_opening_external_signer">خطا در بازکردن اپلیکیشن امضا کننده</string>
<string name="error_opening_external_signer_description">اپ امضا کننده یافت نشد. بررسی کنید که اپ حذف نشده باشد.</string>
<string name="sign_request_rejected">اپ امضا کننده رد کرد</string>
<string name="sign_request_rejected_description">مطمئن شوید که اپ امضا کننده این تراکنش را تایید کرده است</string>
<string name="no_wallet_found_with_error">هیچ کیف پولی برای پرداخت صورتحساب لایتنینگ یافت نشد (خطا: %1$s). لطفا کیف پول لایتنینگی برای استفاده از زپ نصب کنید</string>
<string name="no_wallet_found">هیچ کیف پولی برای پرداخت صورتحساب لایتنینگ یافت نشد. لطفا یک کیف پول لایتنینگی برای استفاده از زپ نصب کنید</string>
@@ -652,36 +514,19 @@
<string name="select_an_option">یک گزینه را انتخاب کنید</string>
<string name="error_dialog_pay_invoice_error">صورتحساب پرداخت نشد</string>
<string name="error_dialog_pay_withdraw_error">برداشت نشد</string>
<string name="error_parsing_nip47_title">اتصال کیف پول برقرار نشد</string>
<string name="error_parsing_nip47">خطا در تفسیر رشته اتصال NIP-47. بررسی کنید این مشکل مربوط به سازنده کیف پول شما مشکلی نباشد: %1$s. خطا: %2$s</string>
<string name="error_parsing_nip47_no_error">خطا در تفسیر رشته اتصال NIP-47. بررسی کنید این مشکل مربوط به سازنده کیف پول شما مشکلی نباشد: %1$s.</string>
<string name="cashu_failed_redemption">Cashu بازپرداخت نشد</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint پیام خطای روبرو را داد: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">توکن Cashu خرج شده است.</string>
<string name="cashu_successful_redemption">Cashu دریافت شد</string>
<string name="cashu_successful_redemption_explainer">%1$s ساتوشی به کیف پول شما ارسال شد. (کارمزد: %2$s ساتوشی)</string>
<string name="cashu_no_wallet_found">هیچ کیف پول Cashu سازگاری در سیستم یافت نشد</string>
<string name="error_unable_to_fetch_invoice">صورتحساب از سرور گیرنده دریافت نشد</string>
<string name="wallet_connect_pay_invoice_error_error">ارائه دهنده اتصال کیف پول شما خطای روبرو را داد: %1$s</string>
<string name="could_not_connect_to_tor">نمی توان به Tor وصل شد</string>
<string name="unable_to_download_relay_document">بارگیری اسناد رله در دسترس نیست</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">LNUrl از آدرس لایتنینگ \"%1$s\" بدست نیامد. تنظیمات کاربر را بررسی کنید.</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">خدمات لایتنینگ %1$s گیرنده دردسترس نیست. از آدرس لایتنینگ \"%2$s\" محاسبه شد. خطا: %3$s. بررسی کنید آیا سرور کار می کند و آیا آدرس لایتنینگ صحیح است.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد. \n\nخطای %3$s</string>
<string name="could_not_fetch_invoice_from">صورتحساب از %1$s گرفته نشد</string>
<string name="could_not_fetch_invoice_from_details">صورتحساب از %1$s گرفته نشد: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">خطا در تفسیر JSON از آدرس لایتنینگ. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL بازخوانی در پیکربندی سرور آدرس لایتنینگ یافت نشد</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">فراخوانی URL از پاسخ %1$s یافت نشد</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">خطا در تفسیر JSON از فراخوان صورتحساب آدرس لایتنینگ. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از دریافت صورتحساب %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">مبلغ نادرست صورتحساب (%1$s ساتوشی)از %2$s. می بایست %3$s ساتوشی باشد.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">نمی توان صورتحساب لایتنینگ را پیش از زپ زدن ارسال کرد. کیف پول لایتنینگی گیرنده خطای روبرو را داد: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">صورت حساب لایتنینگ ساخته نشد. پیغام از %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">نمی توان صورتحساب لایتنینگ را پیش از زپ زدن ارسال کرد. المنت pr در JSON بدست آمده یافت نشد.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">نمی توان صورتحساب لایتنینگ از %1$s ساخت. المنت pr در JSON بدست آمده یافت نشد.</string>
<string name="read_only_user">کاربر با امکان خواندن فقط</string>
<string name="no_reactions_setup">هیچ واکنشی تنظیم نشده است</string>
<string name="select_push_server">یک اپلیکیشن UnifiedPush انتخاب کنید</string>
@@ -699,13 +544,11 @@
<string name="send_the_seller_a_message">به فروشنده پیغام دهید</string>
<string name="hi_seller_is_this_still_available">سلام %1$s، هنوز موجوده؟</string>
<string name="hi_there_is_this_still_available">سلام، هنوز موجوده؟</string>
<string name="classifieds">چیزی بفروشید</string>
<string name="classifieds_title">عنوان</string>
<string name="classifieds_title_placeholder">آیفون 13</string>
<string name="classifieds_condition">شرایط</string>
<string name="classifieds_category">دسته بندی</string>
<string name="classifieds_price">قیمت (به ساتوشی)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">موقعیت مکانی</string>
<string name="classifieds_location_placeholder">شهر، استان، کشور</string>
<string name="classifieds_condition_new">جدید</string>
@@ -734,20 +577,13 @@
<string name="classifieds_category_other">سایر</string>
<string name="failed_to_upload_media_no_details">رسانه بارگذاری نشد</string>
<string name="could_not_open_the_compressed_file">فایل فشرده باز نشد</string>
<string name="error_when_compressing_media">خطا در فشرده سازی رسانه: %1$s</string>
<string name="failed_to_upload_media">خطای بارگیری: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">سرور پس از بارگذاری URL نداد</string>
<string name="could_not_download_from_the_server">فایل بارگذاری شده از سرور بارگیری نشد</string>
<string name="could_not_check_downloaded_file">فایل بارگیری شده پس از بارگذاری بررسی نشد: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">فایل محلی برای بارگذاری آماده نشد: %1$s</string>
<string name="failed_to_upload_to_server_with_message">بارگذاری نشد %1$s: %2$s</string>
<string name="failed_to_upload_with_message">بارگذاری نشد: %1$s</string>
<string name="failed_to_delete_with_message">حذف نشد: %1$s</string>
<string name="media_too_big_for_nip95">رسانه برای NIP-95 بسیار بزرگ است</string>
<string name="unable_to_load_thumbnail">ریزتصویر بارگیری نشد</string>
<string name="could_not_prepare_header">اطلاعات سربرگ آماده نشد: %1$s</string>
<string name="compression_cancelled">فشرده سازی لغو شد</string>
<string name="compression_returned_null">فشرده سازی فایل خروجی نساخت</string>
<string name="media_compression_quality_label">کیفیت رسانه</string>
<string name="media_compression_quality_explainer">کیفیت کم را انتخاب کنید تا رسانه را به شکل فایل کوچکتری ذخیره کند، کیفیت بالا برای ذخیره به شکل فایل بزرگتر و نافشرده برای بارگذاری رسانه بدون فشرده سازی است.</string>
<string name="media_compression_quality_low">پایین</string>
@@ -756,15 +592,11 @@
<string name="media_compression_quality_uncompressed">نافشرده</string>
<string name="edit_draft">ویرایش پیش‌نویس</string>
<string name="login_with_qr_code">ورود با کد QR</string>
<string name="route">مسیر</string>
<string name="route_home">خانه</string>
<string name="route_search">جستجو</string>
<string name="route_discover">کاوش</string>
<string name="route_messages">پیغام‌ها</string>
<string name="route_notifications">اعلان‌ها</string>
<string name="route_global">سراسری</string>
<string name="route_video">کوتاه</string>
<string name="route_security_filters">فیلترهای ایمنی</string>
<string name="new_post">نوشته جدید</string>
<string name="new_short">رسانه های کوتاه جدید: تصاویر یا ویدئوها</string>
<string name="new_community_note">یادداشت جدید در انجمن</string>
@@ -779,32 +611,22 @@
<string name="relay_info">رله %1$s</string>
<string name="expand_relay_list">گسترش لیست رله</string>
<string name="note_options">گزینه های یادداشت</string>
<string name="relay_list_selector">انتخابگر لیست رله</string>
<string name="poll">نظرسنجی</string>
<string name="disable_poll">غیرفعال کردن نظرسنجی</string>
<string name="add_bitcoin_invoice">صورت حساب بیتکوین</string>
<string name="cancel_bitcoin_invoice">لغو صورت حساب بیتکوین</string>
<string name="cancel_classifieds">لغو فروش</string>
<string name="add_zapraiser">زپ ریزون</string>
<string name="cancel_zapraiser">لغو زپ ریزون</string>
<string name="add_location">موقعیت مکانی</string>
<string name="remove_location">حذف موقعیت مکانی</string>
<string name="add_zap_split">تقسیم زپ</string>
<string name="cancel_zap_split">لغو تقسیم زپ</string>
<string name="add_content_warning">افزودن هشدار محتوا</string>
<string name="remove_content_warning">حذف هشدار محتوا</string>
<string name="show_npub_as_a_qr_code">کلید عمومی را به شکل کد QR نشان بده</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_description">با این تنظیمات همه می توانند بدانند که هنگام ارسال پیام به شما از کدام رله ها استفاده کنند. بدون این تنظیمات ممکن است برخی پیام ها را از دست بدهید.</string>
<string name="dm_relays_not_found_examples">گزینه های خوب:
- inbox.nostr.wine (پولی)
- auth.nostr1.com (رایگان)
- you.nostr1.com (رله شخصی - پولی)</string>
<string name="dm_relays_not_found_examples2">گزینه های خوب:
- inbox.nostr.wine (پولی)
- auth.nostr1.com (رایگان)
@@ -816,7 +638,6 @@
<string name="search_relays_not_found_description">ساخت لیستی از رله های مخصوص جستجو و تگ کردن کاربر باعث بهبود این نتایج خواهد شد.</string>
<string name="search_relays_not_found_editing">بین ۱-۳ رله بیافزایید تا هنگام جستجوی محتوا یا تگ کردن کاربران از آنها استفاده شود. حتما رله های انتخابی باید NIP-50 را پیاده‌سازی کرده باشند.</string>
<string name="search_relays_not_found_examples">انتخاب های مناسب: \n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
<string name="dm_upload">بارگذاری پیام خصوصی</string>
<string name="relay_settings">تنظیمات رله</string>
<string name="public_home_section">رله های خانه/ صندوق خروجی عمومی</string>
<string name="public_home_section_explainer">این نوع از رله تمام محتوای شما را ذخریه می کند. امتیست پست های شما را اینجا می فرستد و دیگران از این رله ها برای یافتن محتوای شما استفاده می کنند. بین ۱-۳ رله وارد کنید. این رله ها ممکن است رله های شخصی، پولی، یا عمومی باشند.</string>
@@ -829,10 +650,6 @@
- you.nostr1.com (رله پولی یا شخصی)</string>
<string name="private_outbox_section">رله های خصوصی خانه</string>
<string name="private_outbox_section_explainer">بین ۱-۳ رله وارد کنید برای ذخیره رویدادهایی که هیچ کس دیگر نمی بیند ، به عنوان مثال پیش نویس های شما و یا تنظیمات اپلیکیشن. در حالت ایده آل، این رله ها یا محلی هستند یا پیش از بارگیری محتوای کاربر به احراز هویت نیاز دارند.</string>
<string name="kind_3_section">رله های کلی</string>
<string name="kind_3_section_description">امتیست از این رله ها استفاده می کند تا پست ها را برایتان بارگیری کند.</string>
<string name="kind_3_recommended_section">رله های پیشنهادی</string>
<string name="kind_3_recommended_section_description">رله های روبرو را به لیست رله های کلی خود بیافزایید تا پست های کاربران لیست شده را دریافت کنید.</string>
<string name="search_section">رله های جستجو</string>
<string name="search_section_explainer">لیست رله هایی که هنگام جستجوی محتوا یا کاربران مورد استفاده قرار می گیرند. اگر انتخابی در موجود نباشد، تگ کردن یا جستجو کار نخواهد کرد. حتما مطمئن شوید این رله ها را NIP-50 پیاده‌سازی کرده باشند.</string>
<string name="local_section">رله های محلی</string>
@@ -844,11 +661,8 @@
<string name="this_version_brought_to_you_by">این نسخه نرم‌افزار پیشکش از:</string>
<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">مخزن گیت: %1$s</string>
<string name="git_web_address">وب:</string>
<string name="git_clone_address">نسخه برداری:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -856,19 +670,12 @@
<string name="ots_info_description">مدرکی وجود دارد که ثابت کند این پست پیش از %1$s امضا شده است. این مدرک در بلاکچین بیتکوین در آن تاریخ و زمان ثبت شده است.</string>
<string name="edit_post">ویرایش نوشته</string>
<string name="proposal_to_edit">پیشنهاد برای بهبود یک نوشته</string>
<string name="message_to_author">خلاصه تغییرات</string>
<string name="message_to_author_placeholder">اصلاحات سریع…</string>
<string name="accept_the_suggestion">پذیرش پیشنهاد</string>
<string name="accessibility_download_for_offline">بارگيری</string>
<string name="accessibility_lyrics_on">روشن کردن متن</string>
<string name="accessibility_lyrics_off">متن خاموش</string>
<string name="accessibility_turn_on_sealed_message">پیام مهروموم شده خاموش است. برای روشن کردن کلیک کنید.</string>
<string name="accessibility_turn_off_sealed_message">پیام مهروموم شده روشن است. برای خاموش کردن کلیک کنید.</string>
<string name="accessibility_send">ارسال</string>
<string name="accessibility_play_username">نام کاربری را به شکل صوتی بخوان.</string>
<string name="accessibility_pushpin">Pushpin</string>
<string name="accessibility_scan_qr_code">کد QR را اسکن کنید</string>
<string name="accessibility_navigate_to_alby">رفتن به البی، ارائه دهنده کیف پول شخص ثالث.</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">پاسخ به پیش نویس یادداشت ممکن نیست.</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">نقل قول از پیش نویس یادداشت ممکن نیست.</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">واکنش به پیش نویس یادداشت ممکن نیست.</string>
@@ -909,19 +716,21 @@
<string name="http_status_507">فضای ذخیره ناکافی - سرور فضای کافی برای پردازش موفق درخواست ندارد</string>
<string name="http_status_508">حلقه دیده شد - سرور یک حلقه بینهایت در پردازش این درخواست شناسایی کرد</string>
<string name="http_status_511">احراز هویت الزامی - کلاینت برای دسترسی به شبکه می بایست احراز هویت شده باشد</string>
<string name="media_servers_nip96_section">سرورهای NIP-96</string>
<string name="media_servers_nip96_explainer">هر تعداد سرور که می خواهید اضافه کنید. می توانید بعدا هنگام بارگذاری تصویرتان انتخاب کنید که از کدام سرور استفاده شود</string>
<string name="media_servers_blossom_section">سرورهای Blossom</string>
<string name="media_servers_blossom_explainer">هر تعداد سرور که می خواهید اضافه کنید. می توانید بعدا هنگام بارگذاری تصویرتان انتخاب کنید که از کدام سرور استفاده شود</string>
<string name="add_a_nip96_server">یک سرور NIP-96 بیافزایید</string>
<string name="add_a_blossom_server">یک سرور Blossom بیافزایید</string>
<string name="delete_all">حذف همه</string>
<string name="delete_all_drafts_confirmation">مطمئنید می خواهید حذف کنید؟</string>
<string name="stack">استک:</string>
<string name="torrent_file">فایل تورنت</string>
<string name="torrent_download">بارگيری</string>
<string name="torrent_failure">فایل باز نشد</string>
<string name="torrent_no_apps">هیچ اپ تورنتی برای باز کردن و بارگیری فایل نصب نیست.</string>
<string name="select_list_to_filter">لیستی را برای فیلتر خبرنامه انتخاب کنید</string>
<string name="temporary_account">با قفل کردن دستگاه از حساب کاربری خارج شو</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">خدمات لایتنینگ %1$s گیرنده دردسترس نیست. از آدرس لایتنینگ \"%2$s\" محاسبه شد. خطا: %3$s. بررسی کنید آیا سرور کار می کند و آیا آدرس لایتنینگ صحیح است.</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">مشکل %1$s حل نشد. بررسی کنید که به اینترنت متصل باشید، سرور کار کند و آدرس لایتنینگ %2$s صحیح باشد. \n\nخطای %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">خطا در تفسیر JSON از دریافت صورتحساب %1$s. تنظیمات لایتنینگ کاربر را بررسی کنید.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">صورت حساب لایتنینگ ساخته نشد. پیغام از %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">نمی توان صورتحساب لایتنینگ از %1$s ساخت. المنت pr در JSON بدست آمده یافت نشد.</string>
</resources>
+2 -140
View File
@@ -15,8 +15,6 @@
<string name="spam">Roskaposti</string>
<string name="impersonation">Väärennös</string>
<string name="illegal_behavior">Laiton toiminta</string>
<string name="unknown">Tuntematon</string>
<string name="relay_icon">Relekuvake</string>
<string name="unknown_author">Tuntematon tekijä</string>
<string name="copy_text">Kopioi teksti</string>
<string name="copy_user_pubkey">Kopioi tekijän tunniste</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[Estä & Piilota käyttäjä]]></string>
<string name="report_spam_scam">Ilmoita roskapostista / huijauksesta</string>
<string name="report_impersonation">Ilmoita väärennöksestä</string>
<string name="report_explicit_content">Ilmoita julkeasta sisällöstä</string>
<string name="report_illegal_behaviour">Ilmoita laittomasta toiminnasta</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Kirjaudu sisään yksityisellä avaimella viestehin vastaamiseksi</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Kirjaudu sisään yksityisellä avaimella tehostaaksesi viestejä</string>
@@ -39,7 +36,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Käytät julkista avainta ja julkiset avaimet ovat vain luku -tilassa. Kirjaudu yksityisellä avaimella, jotta voit piilottaa sanan tai lauseen</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Käytät julkista avainta ja julkiset avaimet ovat vain luettavissa. Kirjaudu yksityisellä avaimella, jotta voit näyttää sanan tai lauseen</string>
<string name="zaps">Zapit</string>
<string name="view_count">Katselukerrat</string>
<string name="boost">Tehosta</string>
<string name="boosted">tehostettu</string>
<string name="quote">Lainaa</string>
@@ -47,9 +43,7 @@
<string name="add">Lisää</string>
<string name="replying_to">"vastaus kohteeseen "</string>
<string name="and">" ja "</string>
<string name="in_channel">"kanavassa "</string>
<string name="profile_banner">Profiilin banneri</string>
<string name="payment_successful">Maksu onnistui</string>
<string name="error_parsing_error_message">Virhe virhesanomaa tulkittaessa</string>
<string name="following">" Seuratut"</string>
<string name="followers">" Seuraajat"</string>
@@ -64,9 +58,7 @@
<string name="thank_you_so_much">Kiitos paljon!</string>
<string name="amount_in_sats">Määrä satseissa</string>
<string name="send_sats">Lähetä satseja</string>
<string name="error_parsing_preview_for">"Virhe tulkittaessa esikatselua kohteelle %1$s : %2$s"</string>
<string name="preview_card_image_for">"Esikatsele kortin kuvaa kohteelle %1$s"</string>
<string name="new_channel">Uusi kanava</string>
<string name="channel_name">Kanavan nimi</string>
<string name="my_awesome_group">Oma upea ryhmäni</string>
<string name="picture_url">Kuvan URL</string>
@@ -77,35 +69,20 @@
<string name="save">Tallenna</string>
<string name="create">Luo</string>
<string name="cancel">Peruuta</string>
<string name="failed_to_upload_the_image">Kuvan lataus epäonnistui</string>
<string name="relay_address">Releosoite</string>
<string name="posts">Viestit</string>
<string name="bytes">Tavua</string>
<string name="errors">Virheet</string>
<string name="home_feed">Kotisyöte</string>
<string name="private_message_feed">Yksityinen viestisyöte</string>
<string name="public_chat_feed">Julkinen chat-syöte</string>
<string name="global_feed">Maailmanlaajuinen syöte</string>
<string name="search_feed">Hae syötettä</string>
<string name="add_a_relay">Lisää rele</string>
<string name="display_name">Näyttönimi</string>
<string name="my_display_name">Oma näyttönimeni</string>
<string name="username">Käyttäjänimi</string>
<string name="my_username">Oma käyttäjänimeni</string>
<string name="about_me">Tietoja minusta</string>
<string name="avatar_url">Avatarin URL</string>
<string name="banner_url">Bannerin URL</string>
<string name="website_url">Verkkosivuston URL</string>
<string name="ln_address">LN-osoite</string>
<string name="ln_url_outdated">LN-URL (vanhentunut)</string>
<string name="image_saved_to_the_gallery">Kuva tallennettu galleriaan</string>
<string name="failed_to_save_the_image">Kuvan tallennus epäonnistui</string>
<string name="upload_image">Lataa kuva</string>
<string name="uploading">Ladataan…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Käyttäjällä ei ole asetettuna Lightning-osoitetta satsien vastaanottamiseksi</string>
<string name="reply_here">"vastaa tähän.. "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Kopioi viestin tunniste leikepöydälle Nostressa jakamista varten</string>
<string name="copy_channel_id_note_to_the_clipboard">Kopioi kanavan tunniste (viesti) leikepöydälle</string>
<string name="edits_the_channel_metadata">Muokkaa kanavan metatietoja</string>
<string name="join">Liity</string>
<string name="known">Tunnetut</string>
@@ -115,16 +92,12 @@
<string name="conversations">Keskustelut</string>
<string name="notes">Viestit</string>
<string name="replies">Vastaukset</string>
<string name="follows">"Seuratut"</string>
<string name="reports">"Ilmiannetut"</string>
<string name="more_options">Lisää vaihtoehtoja</string>
<string name="relays">" Releet"</string>
<string name="website">Verkkosivusto</string>
<string name="lightning_address">Lightning-osoite</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Kopioi Nsec-tunniste (salasanasi) leikepöydälle varmuuskopiointia varten</string>
<string name="copy_private_key_to_the_clipboard">Kopioi yksityinen avain leikepöydälle</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Kopioi julkinen avain leikepöydälle jakamista varten</string>
<string name="copy_public_key_npub_to_the_clipboard">Kopioi julkinen avain (NPub) leikepöydälle</string>
<string name="send_a_direct_message">Lähetä suora viesti</string>
<string name="edits_the_user_s_metadata">Muokkaa käyttäjän metatietoja</string>
<string name="follow">Seuraa</string>
@@ -144,7 +117,6 @@
<string name="acceptance_of_terms_is_required">Käyttöehtojen hyväksyminen on pakollista</string>
<string name="key_is_required">Avain on pakollinen</string>
<string name="login">Kirjaudu sisään</string>
<string name="generate_a_new_key">Luo uusi avain</string>
<string name="loading_feed">Ladataan syöte</string>
<string name="loading_account">Ladataan tiliä</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
@@ -153,12 +125,6 @@
<string name="try_again">Yritä uudelleen</string>
<string name="feed_is_empty">Syöte on tyhjä.</string>
<string name="refresh">Päivitä</string>
<string name="created">luotu</string>
<string name="with_description_of">kuvaus</string>
<string name="and_picture">ja kuva</string>
<string name="changed_chat_name_to">muutti keskustelun nimen kohteeksi</string>
<string name="description_to">kuvaus kohteeksi</string>
<string name="and_picture_to">ja kuva kohteeksi</string>
<string name="leave">Poistu</string>
<string name="unfollow">Lopeta seuraaminen</string>
<string name="channel_created">Kanava luotu</string>
@@ -181,7 +147,6 @@
<string name="profanity_hateful_speech">Loukkaava kielenkäyttö / vihapuhe</string>
<string name="report_hateful_speech">Ilmoita vihapuheesta</string>
<string name="report_nudity_porn">Ilmoita alastomuudesta / pornosta</string>
<string name="others">muut</string>
<string name="mark_all_known_as_read">Merkitse kaikki Tunnetut luetuiksi</string>
<string name="mark_all_new_as_read">Merkitse kaikki Uudet luetuiksi</string>
<string name="mark_all_as_read">Merkitse kaikki luetuiksi</string>
@@ -191,23 +156,18 @@
<string name="biometric_authentication_failed">Tunnistautuminen epäonnistui</string>
<string name="biometric_authentication_failed_explainer">Biometriikka ei pystynyt tunnistamaan tämän puhelimen omistajaa</string>
<string name="biometric_authentication_failed_explainer_with_error">Biometriikka ei pystynyt tunnistamaan tämän puhelimen omistajaa. Virhe: %1$s</string>
<string name="biometric_error">Virhe</string>
<string name="badge_created_by">"Luonut %1$s"</string>
<string name="badge_award_image_for">"Merkki kohteelle %1$s"</string>
<string name="new_badge_award_notif">Olet saanut uuden merkin</string>
<string name="award_granted_to">Merkki myönnetty kohteelle</string>
<string name="copied_note_text_to_clipboard">Viestin teksti kopioitu leikepöydälle</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Käyttäjän @npub kopioitu leikepöydälle</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Viestin tunniste (@note1) kopioitu leikepöydälle</string>
<string name="select_text_dialog_top">Valitse teksti</string>
<string name="private_conversation_notification">"&lt;Ei voitu purkaa yksityisviestiä&gt;\n\nSinut mainittiin yksityisessä/salatussa keskustelussa kohteiden %1$s ja %2$s välillä."</string>
<string name="account_switch_add_account_dialog_title">Lisää uusi tili</string>
<string name="drawer_accounts">Tilit</string>
<string name="account_switch_select_account">Valitse tili</string>
<string name="account_switch_add_account_btn">Lisää uusi tili</string>
<string name="account_switch_active_account">Aktiivinen tili</string>
<string name="account_switch_has_private_key">Sisältää salaisen avaimen</string>
<string name="account_switch_pubkey_only">Vain julkisavain, ei salaista avainta</string>
<string name="back">Takaisin</string>
<string name="quick_action_select">Valitse</string>
<string name="quick_action_share_browser_link">Jaa selaimen linkki</string>
@@ -224,7 +184,6 @@
<string name="quick_action_delete_dialog_btn">Poista</string>
<string name="quick_action_block">Estä</string>
<string name="quick_action_report">Ilmoita</string>
<string name="quick_action_delete_button">Poista</string>
<string name="quick_action_dont_show_again_button">Älä näytä uudelleen</string>
<string name="report_dialog_spam">Roskaposti tai huijaus</string>
<string name="report_dialog_profanity">Loukkaava kielenkäyttö tai vihamielinen käytös</string>
@@ -249,29 +208,14 @@
<string name="add_to_public_bookmarks">Lisää julkisiin kirjanmerkkeihin</string>
<string name="remove_from_private_bookmarks">Poista yksityisistä kirjanmerkeistä</string>
<string name="remove_from_public_bookmarks">Poista julkisista kirjanmerkeistä</string>
<string name="wallet_connect_service">Lompakkoyhteyspalvelu</string>
<string name="wallet_connect_service_explainer">Valtuuttaa Nostr-salaisuuden maksamaan zapeja ilman sovelluksesta poistumista. Pidä salaisuutesi turvassa ja käytä yksityistä relettä, jos mahdollista.</string>
<string name="wallet_connect_service_pubkey">Lompakkoyhteyden julkinen avain</string>
<string name="wallet_connect_service_relay">Lompakkoyhteyden rele</string>
<string name="wallet_connect_service_secret">Lompakkoyhteyden salainen avain</string>
<string name="wallet_connect_service_show_secret">Näytä salainen avain</string>
<string name="wallet_connect_service_secret_placeholder">nsec / heksadesimaalinen salainen avain</string>
<string name="pledge_amount_in_sats">Luvattu määrä satseissa</string>
<string name="post_poll">Luo äänestys</string>
<string name="poll_heading_required">Vaaditut kohdat:</string>
<string name="poll_zap_recipients">Zap-vastaanottajat</string>
<string name="poll_primary_description">Pääasiallinen äänestyksen kuvaus…</string>
<string name="poll_option_index">Vaihtoehto %s</string>
<string name="poll_option_description">Vaihtoehdon kuvaus</string>
<string name="poll_heading_optional">Valinnaiset kohdat:</string>
<string name="poll_zap_value_min">Vähimmäiszap</string>
<string name="poll_zap_value_max">Enimmäiszap</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_closing_time">Sulje äänestys</string>
<string name="poll_closing_time_days">päivän kuluttua</string>
<string name="poll_unable_to_vote">Ei voi äänestää</string>
<string name="poll_is_closed_explainer">Äänestys on suljettu uusilta ääniltä</string>
<string name="poll_zap_amount">Zap-määrä</string>
<string name="one_vote_per_user_on_atomic_votes">Vain yksi ääni käyttäjää kohti tällä äänestystyypillä</string>
<string name="looking_for_event">"Etsitään tapahtumaa %1$s"</string>
<string name="custom_zaps_add_a_message">Lisää julkinen viesti</string>
@@ -300,31 +244,13 @@
<string name="zap_type_nonzap">Ei-Zap</string>
<string name="zap_type_nonzap_explainer">Ei jälkiä Nostrissa, vain Lightningissa</string>
<string name="file_server">Tiedostopalvelin</string>
<string name="zap_forward_lnAddress">LnAddress tai @Käyttäjä</string>
<string name="upload_server_relays_nip95">Omat releet (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Tiedostot ovat isännöityinä omilla releilläsi. Uusi NIP: tarkista, tukevatko ne sitä</string>
<string name="connect_via_tor_short">Tor/Orbot-asetus</string>
<string name="connect_via_tor">Yhdistä Orbot-asetuksesi kautta</string>
<string name="do_you_really_want_to_disable_tor_title">Haluatko todella katkaista Orbot/Tor-yhteytesi?</string>
<string name="do_you_really_want_to_disable_tor_text">Tietosi siirtyvät välittömästi tavalliseen verkkoon</string>
<string name="yes">Kyllä</string>
<string name="no">Ei</string>
<string name="follow_list_selection">Seuraa-lista</string>
<string name="follow_list_kind3follows">Kaikki seuraajat</string>
<string name="follow_list_global">Maailmanlaajuinen</string>
<string name="follow_list_mute_list">Mykistä lista</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Yhdistä Torin kautta Orbotin avulla
\n\n1. Asenna [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Käynnistä Orbot
\n3. Orbotissa tarkista Socks-portti. Oletusarvo on 9050
\n4. Tarvittaessa vaihda porttia Orbotissa
\n5. Aseta Socks-portti tällä näytöllä
\n6. Paina Aktivoi-painiketta käyttääksesi Orbotia välityspalvelimena
</string>
<string name="orbot_socks_port">Orbot Socks-portti</string>
<string name="invalid_port_number">Virheellinen porttinumero</string>
<string name="use_orbot">Käytä Orbotia</string>
<string name="disconnect_from_your_orbot_setup">Katkaise Tor/Orbot-yhteys</string>
<string name="app_notification_dms_channel_name">Yksityisviestit</string>
<string name="app_notification_dms_channel_description">Ilmoittaa sinulle, kun yksityinen viesti saapuu</string>
<string name="app_notification_zaps_channel_name">Saapuneet Zapit</string>
@@ -333,20 +259,9 @@
<string name="app_notification_zaps_channel_message_for">saaja: %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">Ilmoitus: </string>
<string name="channel_list_join_conversation">Liity keskusteluun</string>
<string name="channel_list_user_or_group_id">Käyttäjän tai ryhmän tunniste</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent tai heksadesimaali</string>
<string name="channel_list_create_channel">Luo</string>
<string name="channel_list_join_channel">Liity</string>
<string name="today">Tänään</string>
<string name="content_warning">Sisältövaroitus</string>
<string name="content_warning_explanation">Tämä viesti sisältää herkkää sisältöä, joka voi olla loukkaavaa tai häiritsevää joillekin ihmisille</string>
<string name="content_warning_hide_all_sensitive_content">Piilota aina herkkä sisältö</string>
<string name="content_warning_show_all_sensitive_content">Näytä aina herkkä sisältö</string>
<string name="content_warning_see_warnings">Näytä aina sisältövaroitukset</string>
<string name="recommended_apps">Suosittelee: </string>
<string name="filter_spam_from_strangers">Suodata roskapostia tuntemattomilta</string>
<string name="warn_when_posts_have_reports_from_your_follows">Varoita, kun seurattavasi ovat raportoineet viestejä</string>
<string name="new_reaction_symbol">Uusi reaktiosymboli</string>
<string name="no_reaction_type_setup_long_press_to_change">Ei valittu reaktiotyyppejä. Pidä pitkään painettuna vaihtaaksesi.</string>
<string name="zapraiser">Zapkerääjä</string>
@@ -355,36 +270,23 @@
<string name="sats_to_complete">Zapraiser %1$s. %2$s satsiin tavoitteesta</string>
<string name="read_from_relay">Lue releestä</string>
<string name="write_to_relay">Kirjoita releeseen</string>
<string name="an_error_occurred_trying_to_get_relay_information">Virhe yritettäessä hakea rele-tietoja %1$s:stä</string>
<string name="owner">Omistaja</string>
<string name="version">Versio</string>
<string name="software">Ohjelmisto</string>
<string name="contact">Yhteystiedot</string>
<string name="supports">Tuetut NIPit</string>
<string name="admission_fees">Pääsymaksut</string>
<string name="payments_url">Maksut URL</string>
<string name="limitations">Rajoitukset</string>
<string name="countries">Maat</string>
<string name="languages">Kielet</string>
<string name="tags">Tagit</string>
<string name="posting_policy">Julkaisupolitiikka</string>
<string name="message_length">Viestin pituus</string>
<string name="subscriptions">Tilaukset</string>
<string name="filters">Suodattimet</string>
<string name="subscription_id_length">Tilaustunnuksen pituus</string>
<string name="minimum_prefix">Vähimmäisliite</string>
<string name="maximum_event_tags">Maksimi tapahtumien tagit</string>
<string name="content_length">Sisällön pituus</string>
<string name="minimum_pow">Vähimmäis PoW</string>
<string name="auth">Autentikointi</string>
<string name="payment">Maksu</string>
<string name="cashu">Cashu-tunnus</string>
<string name="cashu_redeem">Lunasta</string>
<string name="cashu_redeem_to_zap">Lähetä zap-lompakkoon</string>
<string name="cashu_redeem_to_cashu">Avaa Cashu-lompakossa</string>
<string name="cashu_copy_token">Kopioi tunnus</string>
<string name="no_lightning_address_set">Ei Lightning-osoitetta asetettuna</string>
<string name="copied_token_to_clipboard">Kopioitu tunnus leikepöydälle</string>
<string name="live_stream_offline_tag">POISSA</string>
<string name="live_stream_ended_tag">PÄÄTTYNYT</string>
<string name="live_stream_planned_tag">AJOITETTU</string>
@@ -406,7 +308,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">Aina</string>
<string name="connectivity_type_wifi_only">Vain WiFi</string>
<string name="connectivity_type_never">Ei koskaan</string>
<string name="system">Järjestelmä</string>
<string name="light">Vaalea</string>
@@ -419,7 +320,6 @@
<string name="automatically_show_url_preview">URL-esikatselu</string>
<string name="automatically_hide_nav_bars">Immersiivinen vieritys</string>
<string name="automatically_hide_nav_bars_description">Piilota navigointipalkit vieritettäessä</string>
<string name="load_image">Lataa kuva</string>
<string name="spamming_users">Roskapostittajat</string>
<string name="muted_button">Ääni pois päältä. Napsauta palauttaaksesi äänet</string>
<string name="mute_button">Ääni päällä. Napsauta vaimentaaksesi</string>
@@ -427,17 +327,10 @@
<string name="nip05_verified">Nostr-osoite varmennettiin</string>
<string name="nip05_failed">Nostr-osoite ei läpäissyt varmennusta</string>
<string name="nip05_checking">Tarkistetaan Nostr-osoite</string>
<string name="select_deselect_all">Valitse/Poista valinta kaikista</string>
<string name="default_relays">Oletus</string>
<string name="select_a_relay_to_continue">Valitse rele jatkaaksesi</string>
<string name="zap_forward_title">Ohjaa zappit kohteeseen:</string>
<string name="zap_forward_explainer">Sovelluksien tukeminen ohjaa zappit alla olevaan LN-osoitteeseen tai käyttäjäprofiiliin sen sijaan, että ne menisivät sinulle</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="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_nip17_might_not_be_available_title">Uusi ominaisuus</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_nip17_activate">Aktivoi</string>
<string name="messages_create_public_chat">Julkinen</string>
<string name="messages_new_message">Yksityinen</string>
<string name="messages_new_message_to">Vastaanottaja</string>
@@ -453,44 +346,26 @@
<string name="automatically_load_images_gifs_description">Lataa kuvat ja GIF-animaatiot automaattisesti</string>
<string name="automatically_play_videos_description">Toista videot ja GIF-animaatiot automaattisesti</string>
<string name="automatically_show_url_preview_description">Näytä URL-esikatselut</string>
<string name="load_image_description">Koska kuvat ladataan</string>
<string name="copy_to_clipboard">Kopioi leikepöydälle</string>
<string name="copy_url_to_clipboard">Kopioi URL leikepöydälle</string>
<string name="copy_the_note_id_to_the_clipboard">Kopioi viestin tunniste leikepöydälle</string>
<string name="created_at">Luotu</string>
<string name="rules">Säännöt</string>
<string name="login_with_external_signer">Kirjaudu sisään Amberilla</string>
<string name="status_update">Päivitä tilaasi</string>
<string name="lightning_wallets_not_found">Virhe tulkittaessa virhesanomaa</string>
<string name="poll_zap_value_min_max_explainer">Äänet painotetaan zappin määrän perusteella. Voit asettaa minimimäärän roskapostin välttämiseksi ja maksimimäärän suurten zappereiden estämiseksi. Käytä samaa määrää molemmissa kentissä, jotta jokainen ääni arvostetaan samalla määrällä. Jätä se tyhjäksi hyväksyäksesi minkä tahansa määrän.</string>
<string name="error_dialog_zap_error">Zapin lähettäminen ei onnistunut</string>
<string name="error_dialog_talk_to_user">Viesti käyttäjälle</string>
<string name="error_dialog_button_ok">Ok</string>
<string name="relay_information_document_error_assemble_url">Kohdetta %1$s ei tavoitettu: %2$s</string>
<string name="relay_information_document_error_reach_server">Kohdetta %1$s ei tavoitettu: %2$s</string>
<string name="relay_information_document_error_parse_result">Tuloksen jäsentäminen epäonnistui %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s epäonnistui koodilla %2$s</string>
<string name="active_for">Aktiivinen kohteelle: </string>
<string name="active_for_home">Koti</string>
<string name="active_for_msg">YVt</string>
<string name="active_for_chats">Keskustelut</string>
<string name="active_for_global">Yleinen</string>
<string name="active_for_search">Haku</string>
<string name="zap_split_title">Jaa ja ohjaa zapit</string>
<string name="zap_split_explainer">Asiakkaiden tukeminen jakaa ja välittää zapit käyttäjille, jotka on lisätty tähän sinun sijasta</string>
<string name="zap_split_search_and_add_user">Etsi ja lisää käyttäjä</string>
<string name="zap_split_search_and_add_user_placeholder">Käyttäjänimi tai näyttönimi</string>
<string name="missing_lud16">Lightning asetukset puuttuvat</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Käyttäjällä %1$s ei ole Lightning-osoitetta määritettynä vastaanottamaan satseja</string>
<string name="zap_split_weight">Prosenttiosuus</string>
<string name="splitting_zaps_with">Zappien jakaminen</string>
<string name="forwarding_zaps_to">Ohjaa zappit kohteeseen</string>
<string name="lightning_wallets_not_found2">Lightning-lompakkoja ei löytynyt</string>
<string name="paid">Maksettu</string>
<string name="wallet_number">Lompakko %1$s</string>
<string name="error_opening_external_signer">Virhe avattaessa allekirjoitussovellusta</string>
<string name="error_opening_external_signer_description">Allekirjoittajasovellusta ei löytynyt. Tarkista, että sovellusta ei ole poistettu</string>
<string name="sign_request_rejected">Allekirjoittajasovellus hylätty</string>
<string name="sign_request_rejected_description">Varmista, että allekirjoittajasovellus on valtuuttanut tämän tapahtuman</string>
<string name="no_wallet_found_with_error">Ei löytynyt lompakkoja Lightning-laskun maksamiseksi (käyttäjä: %1$s). Asenna Lightning-lompakko zapatäksesi</string>
<string name="no_wallet_found">Ei löytynyt lompakkoja Lightning-laskun maksamiseksi. Asenna Lightning-lompakko zapatäksesi</string>
@@ -501,27 +376,15 @@
<string name="select_an_option">Valitse vaihtoehto</string>
<string name="error_dialog_pay_invoice_error">Laskua ei voitu maksaa</string>
<string name="error_dialog_pay_withdraw_error">Ei voitu perua</string>
<string name="error_parsing_nip47_title">Wallet Connectin asennus epäonnistui</string>
<string name="error_parsing_nip47">Virhe jäsennettäessä NIP-47 yhteyttä. Tarkista, onko tämä oikein lompakon tarjoajallasi: %1$s. Virhe: %2$s</string>
<string name="cashu_failed_redemption">Cashu epäonnistui lunastuksessa</string>
<string name="cashu_failed_redemption_explainer_error_msg">Paja (mint) antoi seuraavan virheilmoituksen: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Cashu tunnukset on jo käytetty.</string>
<string name="cashu_successful_redemption">Cashu vastaanotettu</string>
<string name="cashu_no_wallet_found">Yhteensopivaa Cashu-lompakkoa ei löytynyt järjestelmästä</string>
<string name="error_unable_to_fetch_invoice">Laskua ei voi noutaa vastaanottimen palvelimilta</string>
<string name="wallet_connect_pay_invoice_error_error">Lompakkosi yhteyden tarjoaja palautti seuraavan virheen: %1$s</string>
<string name="could_not_connect_to_tor">Toriin ei saatu yhteyttä</string>
<string name="unable_to_download_relay_document">Reledokumenttia ei saatu ladattua</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Ei voitu koota LNUrlia Lightning-osoitteesta \"%1$s\". Tarkista käyttäjän asetukset</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Vastaanottajan Lightning-palvelu osoitteessa %1$s ei ole käytettävissä. Se laskettiin Lightning-osoitteesta \"%2$s\". Virhe: %3$s. Tarkista, onko palvelin ylhäällä ja onko Lightning-osoite oikein</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Ei voitu selvittää %1$s. Tarkista, oletko yhteydessä, onko palvelin ylhäällä ja onko Lightning-osoite %2$s oikein</string>
<string name="could_not_fetch_invoice_from">Ei voitu noutaa laskua kohteesta %1$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Virhe jäsennettäessä JSONia Lightning-osoitteesta. Tarkista käyttäjän Lightning-asetukset</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">Takaisinkutsun URL-osoitetta ei löydy käyttäjän Lightning-osoitteen palvelimen asetuksista</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Virhe jäsennettäessä JSONia Lightning-osoitteen laskun noudossa. Tarkista käyttäjän Lightning-asetukset</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Virheellinen laskun määrä (%1$s satsia) kohteesta %2$s. Sen olisi pitänyt olla %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Ei voitu luoda Lightning-laskua ennen zapin lähettämistä. Vastaanottajan Lightning-lompakko lähetti seuraavan virheen: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Ei voitu luoda Lightning-laskua ennen zapin lähettämistä. Elementtiä pr ei löydy vastauksena tulleesta JSONista.</string>
<string name="read_only_user">Vain luku -käyttäjä</string>
<string name="no_reactions_setup">Ei reaktioita asetettu</string>
<string name="select_push_server">Valitse UnifiedPush-sovellus</string>
@@ -538,7 +401,6 @@
<string name="send_the_seller_a_message">Lähetä myyjälle viesti</string>
<string name="hi_seller_is_this_still_available">Hei %1$s, onko tämä vielä saatavilla?</string>
<string name="hi_there_is_this_still_available">Hei, onko tämä vielä saatavilla?</string>
<string name="classifieds">Myy esine</string>
<string name="classifieds_title">Otsikko</string>
<string name="classifieds_condition">Kunto</string>
<string name="classifieds_category">Kategoria</string>
@@ -571,11 +433,9 @@
<string name="classifieds_category_other">Muu</string>
<string name="failed_to_upload_media_no_details">Median lataus epäonnistui</string>
<string name="could_not_open_the_compressed_file">Pakattua tiedostoa ei voitu avata</string>
<string name="error_when_compressing_media">Virhe mediaa pakkattaessa: %1$s</string>
<string name="failed_to_upload_media">Lähetysvirhe: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">Palvelin ei antanut URL-osoitetta latauksen jälkeen</string>
<string name="could_not_download_from_the_server">Mediaa ei voitu ladata palvelimelta</string>
<string name="could_not_prepare_local_file_to_upload">Paikallista tiedostoa ei voitu valmistella ladattavaksi: %1$s</string>
<!-- Onchain zap send dialog -->
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<!-- Kind display names for relay subscription filter chips -->
@@ -588,4 +448,6 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Vastaanottajan Lightning-palvelu osoitteessa %1$s ei ole käytettävissä. Se laskettiin Lightning-osoitteesta \"%2$s\". Virhe: %3$s. Tarkista, onko palvelin ylhäällä ja onko Lightning-osoite oikein</string>
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
File diff suppressed because it is too large Load Diff
+5 -194
View File
@@ -21,8 +21,6 @@
<string name="illegal_behavior">Comportement illégal</string>
<string name="other">Autre</string>
<string name="harassment">Harcèlement</string>
<string name="unknown">inconnu</string>
<string name="relay_icon">Icône de relais</string>
<string name="unknown_author">Auteur inconnu</string>
<string name="copy_text">Copier le texte</string>
<string name="copy_user_pubkey">Copier la clé publique de l\'utilisateur</string>
@@ -36,12 +34,9 @@
<string name="block_hide_user"><![CDATA[Bloquer et cacher l\'utilisateur]]></string>
<string name="report_spam_scam">Signaler Spam / Arnaque</string>
<string name="report_impersonation">Signaler une falsification d\'identité</string>
<string name="report_explicit_content">Signaler un contenu choquant</string>
<string name="report_illegal_behaviour">Signaler un comportement illégal</string>
<string name="report_malware">Signaler un programme malveillant</string>
<string name="report_mod">Signaler le mod</string>
<string name="malware">Programme malveillant</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Connectez vous avec une clé privée pour pouvoir répondre</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Connectez vous avec une clé privée pour pouvoir booster des posts</string>
<string name="login_with_a_private_key_to_like_posts">Connectez vous avec une clé privée pour pouvoir aimer des posts</string>
@@ -52,7 +47,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Vous utilisez une clé publique et les clés publiques sont en lecture seule. Connectez-vous avec une clé privée pour pouvoir masquer un mot ou une phrase</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Vous utilisez une clé publique et les clés publiques sont en lecture seule. Connectez-vous avec une clé privée pour pouvoir afficher un mot ou une phrase</string>
<string name="zaps">Zaps</string>
<string name="view_count">Nombre de vues</string>
<string name="boost">Boost</string>
<string name="boosted">boosté</string>
<string name="edited">modifié</string>
@@ -65,9 +59,7 @@
<string name="add">Ajouter</string>
<string name="replying_to">"répondre à "</string>
<string name="and">" et "</string>
<string name="in_channel">"dans le canal "</string>
<string name="profile_banner">Bannière du profil</string>
<string name="payment_successful">Paiement Réussi</string>
<string name="error_parsing_error_message">Erreur d\'analyse du message d\'erreur</string>
<string name="following">" Abonnements"</string>
<string name="followers">" Abonnés"</string>
@@ -89,9 +81,7 @@
<string name="secret_visible_text">Préfixe visible</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Ajouter au message</string>
<string name="error_parsing_preview_for">"Erreur d'analyse de l'aperçu pour %1$s : %2$s"</string>
<string name="preview_card_image_for">"Aperçu de l'image pour %1$s"</string>
<string name="new_channel">Nouveau canal</string>
<string name="channel_name">Nom de canal</string>
<string name="my_awesome_group">Mon groupe spectaculaire</string>
<string name="picture_url">Url de l\'image</string>
@@ -103,33 +93,18 @@
<string name="save">Sauvegarder</string>
<string name="create">Créer</string>
<string name="cancel">Annuler</string>
<string name="failed_to_upload_the_image">Échec du téléchargement de l\'image</string>
<string name="relay_address">Adresse du relais</string>
<string name="posts">Publications</string>
<string name="bytes">Octets</string>
<string name="errors">Erreurs</string>
<string name="errors_description">Le nombre d\'erreurs de connexion dans cette session</string>
<string name="home_feed">Vos notifications</string>
<string name="private_message_feed">Flux de messages privés</string>
<string name="public_chat_feed">Flux de chat public</string>
<string name="global_feed">Flux mondial</string>
<string name="search_feed">Flux de recherche</string>
<string name="add_a_relay">Ajouter un relais</string>
<string name="profile_name">Nom</string>
<string name="display_name">Nom visible du public</string>
<string name="my_display_name">Mon nom visible du public</string>
<string name="my_awesome_name">Ostrich McGénial</string>
<string name="welcome">Bienvenue Ostrich!</string>
<string name="username">Nom d\'utilisateur</string>
<string name="my_username">Mon nom d\'utilisateur</string>
<string name="about_me">Biographie</string>
<string name="avatar_url">URL de l\'avatar</string>
<string name="banner_url">URL de la bannière</string>
<string name="website_url">URL de site</string>
<string name="pronouns">Pronoms</string>
<string name="ln_address">Adresse LN</string>
<string name="ln_url_outdated">URL LN (obsolete)</string>
<string name="save_to_gallery">Enregistrer dans la Galerie</string>
<string name="image_saved_to_the_gallery">Image enregistrée dans la galerie</string>
<string name="video_download_has_started_toast">Le téléchargement de la vidéo a démarré…</string>
<string name="media_download_has_started_toast">Le téléchargement du média a démarré…</string>
@@ -137,11 +112,8 @@
<string name="video_saved_to_the_gallery">Vidéo enregistrée dans la galerie vidéo du téléphone</string>
<string name="failed_to_save_the_video">Impossible d\'enregistrer la vidéo</string>
<string name="upload_image">Charger une image</string>
<string name="uploading">Chargement…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">L\'utilisateur n\'a pas configuré d\'adresse Lightning pour recevoir des sats</string>
<string name="reply_here">"répondre ici"</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copie l\'ID de note dans le presse-papiers pour le partage sur Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Copier l\'ID de la chaîne (Note) dans le presse-papiers</string>
<string name="edits_the_channel_metadata">Modifie les métadonnées du canal</string>
<string name="join">Joindre</string>
<string name="known">Connus</string>
@@ -153,18 +125,14 @@
<string name="replies">Réponses</string>
<string name="mutual">Les vôtres</string>
<string name="gallery">Galerie</string>
<string name="follows">"Suivis"</string>
<string name="reports">"Signalements"</string>
<string name="more_options">Plus d\'options</string>
<string name="relays">" Relais"</string>
<string name="website">Site Web</string>
<string name="lightning_address">Adresse Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copie l\'ID Nsec (votre mot de passe) dans le presse-papiers pour le sauvegarder</string>
<string name="copy_private_key_to_the_clipboard">Copier la clé secrète dans le presse-papiers</string>
<string name="show_private_key_qr_code">Afficher le QR code de la clé privée</string>
<string name="show_encrypted_private_key_qr_code">Afficher le QR code de la clé privée chiffrée</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copie la clé publique dans le presse-papiers pour la partager</string>
<string name="copy_public_key_npub_to_the_clipboard">Copier la clé publique (NPub) dans le presse-papiers</string>
<string name="send_a_direct_message">Envoyer un message direct</string>
<string name="edits_the_user_s_metadata">Modifie les métadonnées de l\'utilisateur</string>
<string name="follow">Suivre</string>
@@ -193,8 +161,6 @@
<string name="how_should_we_call_you">Comment devrions-nous vous appeler ?</string>
<string name="don_t_have_an_account">Vous n\'avez pas de compte Nostr ?</string>
<string name="already_have_an_account">Vous avez déjà un compte Nostr ?</string>
<string name="create_a_new_account">Créer un nouveau compte</string>
<string name="generate_a_new_key">Générer une nouvelle clé</string>
<string name="loading_feed">Chargement du flux</string>
<string name="loading_account">Chargement du compte</string>
<string name="error_loading_replies">"Erreur lors du chargement des réponses : "</string>
@@ -202,12 +168,6 @@
<string name="notification_feed_is_empty">Aucune notification pour le moment.</string>
<string name="feed_is_empty">Le flux est vide.</string>
<string name="refresh">Rafraîchir</string>
<string name="created">créé</string>
<string name="with_description_of">avec le descriptif de</string>
<string name="and_picture">et photo</string>
<string name="changed_chat_name_to">changé le nom du chat en</string>
<string name="description_to">descriptif à</string>
<string name="and_picture_to">et image à</string>
<string name="leave">Partir</string>
<string name="unfollow">Ne plus suivre</string>
<string name="channel_created">Canal créé</string>
@@ -233,7 +193,6 @@
<string name="profanity_hateful_speech">Blasphème / Discours haineux</string>
<string name="report_hateful_speech">Signaler Discours haineux</string>
<string name="report_nudity_porn">Signaler Nudité / Porno</string>
<string name="others">autres</string>
<string name="mark_all_known_as_read">Marquer tous les Connus comme lu</string>
<string name="mark_all_new_as_read">Marquer tous les Nouveaux comme lu</string>
<string name="mark_all_as_read">Tout marquer comme lu</string>
@@ -254,23 +213,18 @@
<string name="biometric_authentication_failed">Échec de l\'authentification</string>
<string name="biometric_authentication_failed_explainer">La biométrie n\'a pas pu authentifier le propriétaire de ce téléphone</string>
<string name="biometric_authentication_failed_explainer_with_error">La biométrie n\'a pas pu authentifier le propriétaire de ce téléphone. Erreur : %1$s</string>
<string name="biometric_error">Erreur</string>
<string name="badge_created_by">"Créé par %1$s"</string>
<string name="badge_award_image_for">"Image de badge pour %1$s"</string>
<string name="new_badge_award_notif">Vous avez reçu un nouveau Badge</string>
<string name="award_granted_to">Le Badge a été décerné à</string>
<string name="copied_note_text_to_clipboard">Copie du contenu de la note dans le presse-papiers</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">Copie du @npub utilisateur dans le presse-papiers</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Copie de l\'ID de la note (@note1) dans le presse-papiers</string>
<string name="select_text_dialog_top">Sélectionner le Texte</string>
<string name="private_conversation_notification">"&lt;Impossible de déchiffrer le message privé&gt;\n\nVous avez été cité dans une conversation privée/cryptée entre %1$s et %2$s."</string>
<string name="account_switch_add_account_dialog_title">Ajouter un Nouveau Compte</string>
<string name="drawer_accounts">Comptes</string>
<string name="account_switch_select_account">Sélectionner un Compte</string>
<string name="account_switch_add_account_btn">Ajouter un Nouveau Compte</string>
<string name="account_switch_active_account">Compte actif</string>
<string name="account_switch_has_private_key">Avec une clé privée</string>
<string name="account_switch_pubkey_only">Lecture seule, pas de clé privée</string>
<string name="back">Retour</string>
<string name="quick_action_select">Sélectionner</string>
<string name="quick_action_share_browser_link">Partager le Lien Navigateur</string>
@@ -288,14 +242,12 @@
<string name="quick_action_delete_dialog_btn">Supprimer</string>
<string name="quick_action_block">Bloquer</string>
<string name="quick_action_report">Signaler</string>
<string name="quick_action_delete_button">Supprimer</string>
<string name="quick_action_dont_show_again_button">Ne plus montrer</string>
<string name="report_dialog_spam">Spam ou arnaque</string>
<string name="report_dialog_profanity">Grossièreté ou contenu haineux</string>
<string name="report_dialog_impersonation">Usurpation d\'identité</string>
<string name="report_dialog_nudity">Nudité ou contenu graphique</string>
<string name="report_dialog_illegal">Comportement illégal</string>
<string name="report_dialog_malware">Programme malveillant</string>
<string name="report_dialog_blocking_a_user">Bloquer un utilisateur cachera son contenu dans votre application. Vos notes sont toujours visibles publiquement, y compris pour les personnes que vous bloquez. Les utilisateurs bloqués sont listés sur l\'écran Filtres de Sécurité.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Bloquer et Masquer l\'Utilisateur]]></string>
<string name="report_dialog_report_btn">Signaler un Abus</string>
@@ -315,30 +267,15 @@
<string name="add_to_public_bookmarks">Ajouter aux Favoris Publics</string>
<string name="remove_from_private_bookmarks">Supprimer des Favoris Privés</string>
<string name="remove_from_public_bookmarks">Supprimer des Favoris Publics</string>
<string name="wallet_connect_service">Service Wallet Connect</string>
<string name="wallet_connect_service_explainer">Autorise un Nostr Secret à payer des zaps sans quitter l\'application. Gardez le secret en toute sécurité et utilisez un relais privé si possible</string>
<string name="wallet_connect_service_pubkey">Clé publique Wallet Connect</string>
<string name="wallet_connect_service_relay">Relais Wallet Connect</string>
<string name="wallet_connect_service_secret">Secret Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Montrer la clé secrète</string>
<string name="wallet_connect_service_secret_placeholder">Clé privée nsec / hex</string>
<string name="pledge_amount_in_sats">Montant engagé en Sats</string>
<string name="post_poll">Message Sondage</string>
<string name="poll_heading_required">Champs requis:</string>
<string name="poll_zap_recipients">Bénéficiaires du Zap</string>
<string name="poll_primary_description">Description du sondage primaire…</string>
<string name="poll_option_index">Option %s</string>
<string name="poll_option_description">Description de l\'option du Sondage</string>
<string name="poll_heading_optional">Champs optionnels :</string>
<string name="poll_zap_value_min">Zap minimum</string>
<string name="poll_zap_value_max">Zap maximum</string>
<string name="poll_consensus_threshold">Consensus</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Clôturer après</string>
<string name="poll_closing_time_days">jours</string>
<string name="poll_unable_to_vote">Impossible de voter</string>
<string name="poll_is_closed_explainer">Le Sondage est fermé aux nouveaux votes</string>
<string name="poll_zap_amount">Montant des Zap</string>
<string name="one_vote_per_user_on_atomic_votes">Un seul vote par utilisateur est autorisé sur ce type de sondage</string>
<string name="looking_for_event">"Recherche de l'Événement %1$s"</string>
<string name="custom_zaps_add_a_message">Ajouter un message public</string>
@@ -372,12 +309,9 @@
<string name="zap_type_nonzap_explainer">Aucune trace sur Nostr, seulement sur le Lightning</string>
<string name="file_server">Serveur fichier</string>
<string name="file_server_description">Choisissez un serveur vers lequel téléverser ce fichier</string>
<string name="zap_forward_lnAddress">Adresse LN ou @Utilisateur</string>
<string name="media_servers">Serveurs média</string>
<string name="set_preferred_media_servers">Définissez vos serveurs de téléversement de média préférés.</string>
<string name="no_nip96_server_message">Vous n\'avez pas de serveur NIP-96 défini. Vous pouvez utiliser la liste d\'Amethyst, ou en ajouter un ci-dessous ↓</string>
<string name="no_blossom_server_message">Vous n\'avez pas de serveur Blossom défini. Vous pouvez utiliser la liste d\'Amethyst, ou en ajouter un ci-dessous ↓</string>
<string name="built_in_media_servers_title">Serveurs média intégrés</string>
<string name="built_in_servers_description">Liste par défaut d\'Amethyst. Vous pouvez les ajouter individuellement ou ajouter la liste.</string>
<string name="use_default_servers">Utiliser la liste par défaut</string>
<string name="add_media_server">Ajouter un serveur média</string>
@@ -390,31 +324,16 @@
<string name="uploading_state_hashing">Hachage</string>
<string name="uploading_state_finished">Terminé</string>
<string name="uploading_state_error">Erreur</string>
<string name="upload_server_relays_nip95">Vos relais (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Les fichiers sont hébergés par vos relais. Nouveau NIP: vérifiez s\'ils sont supportés</string>
<string name="privacy_options">Options de confidentialité</string>
<string name="connect_via_tor_short">Configuration Tor/Orbot</string>
<string name="connect_via_tor">Se connecter à travers la configuration Orbot</string>
<string name="connect_via_tor1">Ajuster</string>
<string name="connect_via_tor2">Paramètres Tor</string>
<string name="do_you_really_want_to_disable_tor_title">Se déconnecter de Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">Vos données seront immédiatement transférées sur le réseau classique</string>
<string name="yes">Oui</string>
<string name="no">Non</string>
<string name="follow_list_selection">Liste des Abonnés</string>
<string name="follow_list_kind3follows">Tous les abonnements</string>
<string name="follow_list_aroundme">Autour de moi</string>
<string name="follow_list_global">Général</string>
<string name="follow_list_mute_list">Liste en Sourdine</string>
<string name="connect_through_your_orbot_setup_short">Le port par défaut est 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Se connecter à travers Tor avec Orbot
\n\n1. Installe [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Démarre Orbot
\n3. Dans Orbot, vérifie le port Socks. Par défaut 9050
\n4. Si nécessaire change le port dans Orbot
\n5. Configure le port Socks sur cet écran
\n6. Appuyer sur le bouton Activer pour utiliser Orbot comme proxy
</string>
<string name="orbot_socks_port">Port Socks Orbot</string>
<string name="use_internal_tor">Activer le moteur Tor</string>
<string name="use_internal_tor_explainer">Utiliser la version interne ou Orbot</string>
@@ -456,8 +375,6 @@
<string name="tor_full_privacy_explainer">Masque votre IP pour toutes les connexions</string>
<string name="tor_custom_explainer">Faites votre choix manuellement</string>
<string name="invalid_port_number">Numéro de port invalide</string>
<string name="use_orbot">Utiliser Orbot</string>
<string name="disconnect_from_your_orbot_setup">Déconnecter Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Messages privés</string>
<string name="app_notification_dms_channel_description">Vous notifie lorsqu\'un message privé est reçu</string>
<string name="app_notification_zaps_channel_name">Zaps reçus</string>
@@ -466,20 +383,9 @@
<string name="app_notification_zaps_channel_message_from">De %1$s</string>
<string name="app_notification_zaps_channel_message_for">pour %1$s</string>
<string name="reply_notify">Notifier: </string>
<string name="channel_list_join_conversation">Rejoindre Conversation</string>
<string name="channel_list_user_or_group_id">Utilisateur ou Groupe ID</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent ou hex</string>
<string name="channel_list_create_channel">Créer</string>
<string name="channel_list_join_channel">Rejoindre</string>
<string name="today">Aujourd\'hui</string>
<string name="content_warning">Avertissement de contenu</string>
<string name="content_warning_explanation">Ce message contient du contenu sensible que certaines personnes peuvent trouver offensant ou dérangeant</string>
<string name="content_warning_hide_all_sensitive_content">Toujours cacher les contenus sensibles</string>
<string name="content_warning_show_all_sensitive_content">Toujours afficher les contenus sensibles</string>
<string name="content_warning_see_warnings">Toujours afficher les avertissements de contenu</string>
<string name="recommended_apps">Recommendations: </string>
<string name="filter_spam_from_strangers">Filtrer le spam des inconnus</string>
<string name="warn_when_posts_have_reports_from_your_follows">Avertir lorsque les messages ont été rapportés par vos abonnés</string>
<string name="new_reaction_symbol">Nouveau symbole de réaction</string>
<string name="no_reaction_type_setup_long_press_to_change">Aucun type de réaction sélectionné. Appuyer longuement pour changer</string>
<string name="zapraiser">Collecte de Zaps</string>
@@ -490,37 +396,24 @@
<string name="write_to_relay">Écrire sur le Relay</string>
<string name="write_to_relay_description">Le nombre d\'octets qui ont été envoyés à ce relais, y compris les filtres et les événements</string>
<string name="read_from_relay_description">Le nombre d\'octets qui ont été reçus depuis ce relais, y compris les filtres et les événements</string>
<string name="an_error_occurred_trying_to_get_relay_information">Une erreur s\'est produite en récupérant les informations du relay depuis %1$s</string>
<string name="owner">Propriétaire</string>
<string name="version">Version</string>
<string name="software">Logiciel</string>
<string name="contact">Contact</string>
<string name="supports">NIPs supportés</string>
<string name="admission_fees">Frais d\'admission</string>
<string name="payments_url">URL de payments</string>
<string name="limitations">Limites</string>
<string name="countries">Pays</string>
<string name="languages">Langages</string>
<string name="tags">Étiquettes</string>
<string name="posting_policy">Politique de publication</string>
<string name="relay_error_messages">Erreurs et Notifications de ce Relais</string>
<string name="message_length">Longueur du message</string>
<string name="subscriptions">Abonnements</string>
<string name="filters">Filtres</string>
<string name="subscription_id_length">Longueur de l\'id de souscription</string>
<string name="minimum_prefix">Préfixe minimum</string>
<string name="maximum_event_tags">Tags d\'événement maximum</string>
<string name="content_length">Longueur du contenu</string>
<string name="minimum_pow">PoW minimum</string>
<string name="auth">Authentification</string>
<string name="payment">Paiement</string>
<string name="cashu">Jeton Cashu</string>
<string name="cashu_redeem">Échanger</string>
<string name="cashu_redeem_to_zap">Envoyer vers le portefeuille Zap</string>
<string name="cashu_redeem_to_cashu">Ouvrir dans le portefeuille Cashu</string>
<string name="cashu_copy_token">Copier le Jeton</string>
<string name="no_lightning_address_set">Adresse Lightning non définie</string>
<string name="copied_token_to_clipboard">Jeton copié dans le presse-papiers</string>
<string name="live_stream_live_tag">EN DIRECT</string>
<string name="live_stream_offline_tag">DÉCONNECTÉ</string>
<string name="live_stream_ended_tag">TERMINÉ</string>
@@ -540,7 +433,6 @@
<string name="preferences">Préférences de l\'application</string>
<string name="settings">Paramètres</string>
<string name="connectivity_type_always">Toujours</string>
<string name="connectivity_type_wifi_only">Wifi uniquement</string>
<string name="connectivity_type_unmetered_wifi_only">WiFi illimité</string>
<string name="connectivity_type_never">Jamais</string>
<string name="ui_feature_set_type_complete">Complet</string>
@@ -564,7 +456,6 @@
<string name="ui_style_description">Choisir le style du message</string>
<string name="gallery_style">Style de la galerie de profil</string>
<string name="gallery_style_description">Choisissez le style de la galerie</string>
<string name="load_image">Charger l\'image</string>
<string name="spamming_users">Spammeurs</string>
<string name="muted_button">Silencieux. Cliquer pour réactiver le son</string>
<string name="mute_button">Son activé. Cliquer pour mettre en silencieux</string>
@@ -572,12 +463,8 @@
<string name="nip05_verified">L\'adresse Nostr a été vérfiée</string>
<string name="nip05_failed">La vérification de l\'adresse Nostr a échouée</string>
<string name="nip05_checking">Vérification de l\'adresse Nostr</string>
<string name="select_deselect_all">Tout sélectionner/désélectionner</string>
<string name="default_relays">Défaut</string>
<string name="default_relays_longer">Rétablir les valeurs par défaut</string>
<string name="select_a_relay_to_continue">Sélectionner un relay pour continuer</string>
<string name="zap_forward_title">Transférer les Zaps à:</string>
<string name="zap_forward_explainer">Les clients compatibles transmettront des zaps sur l\'adresse LN ou le profil Utilisateur ci-dessous au lieu du vôtre.</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_exclusive">Post exclusif à la localisation</string>
@@ -585,9 +472,6 @@
<string name="loading_location">Chargement de la localisation</string>
<string name="lack_location_permissions">Pas d\'autorisations de localisation</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_nip17_might_not_be_available_title">Nouvelle Fonctionnalité</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_nip17_activate">Activer</string>
<string name="messages_create_public_chat">Public</string>
<string name="messages_create_public_private_chat_description">Nouveau Groupe Public ou Privé</string>
<string name="messages_new_message">Privé</string>
@@ -604,7 +488,6 @@
<string name="automatically_load_images_gifs_description">Charger automatiquement les images et les GIFs</string>
<string name="automatically_play_videos_description">Lire automatiquement les vidéos et les GIFs</string>
<string name="automatically_show_url_preview_description">Afficher la prévisualisation d\'URL</string>
<string name="load_image_description">Quand charger les images</string>
<string name="copy_stack_to_clipboard">Copier dans le presse-papiers</string>
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
<string name="copy_npub_to_clipboard">Copier npub dans le presse-papiers</string>
@@ -615,45 +498,23 @@
<string name="media_added">Média ajouté</string>
<string name="media_added_to_profile_gallery">Média ajouté à votre galerie de profil</string>
<string name="created_at">Créé le</string>
<string name="rules">Règles</string>
<string name="login_with_external_signer">Se connecter avec Amber</string>
<string name="status_update">Mettez à jour votre statut</string>
<string name="lightning_wallets_not_found">Erreur d\'analyse du message d\'erreur</string>
<string name="poll_zap_value_min_max_explainer">Les votes sont pondérés par le montant du zap. Vous pouvez définir un montant minimum pour éviter les spammeurs et un montant maximum pour éviter qu\'un grand nombre de zappeurs ne prenne le contrôle du sondage. Utilisez le même montant dans les deux champs pour vous assurer que chaque vote a la même valeur. Laissez le champ vide pour accepter n\'importe quel montant.</string>
<string name="error_dialog_zap_error">Impossible d\'envoyer un zap</string>
<string name="error_dialog_talk_to_user">Contacter l\'utilisateur</string>
<string name="error_dialog_talk_to_user_name">Message %1$s</string>
<string name="error_dialog_button_ok">Ok</string>
<string name="relay_information_document_error_assemble_url">Impossible d\'atteindre %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Impossible d\'assembler l\'URL NIP-11 pour %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Impossible d\'accéder à %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Impossible d\'analyser la réponse depuis %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">Le Relais a refusé la requête %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Impossible d\'atteindre %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Impossible d\'analyser le résultat de %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s a échoué avec le code %2$s</string>
<string name="active_for">Actif pour : </string>
<string name="active_for_home">Accueil</string>
<string name="active_for_msg">MPs</string>
<string name="active_for_chats">Salons</string>
<string name="active_for_global">Général</string>
<string name="active_for_search">Rechercher</string>
<string name="zap_split_title">Diviser et Transférer des Zaps</string>
<string name="zap_split_explainer">Les clients supportés vont diviser et transférer les zaps aux utilisateurs ajoutés ici au lieu du vôtre</string>
<string name="zap_split_search_and_add_user">Rechercher et Ajouter un Utilisateur</string>
<string name="zap_split_search_and_add_user_placeholder">Nom d\'utilisateur ou nom affiché</string>
<string name="missing_lud16">Configuration lightning manquante</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">L\'utilisateur %1$s n\'a pas configuré d\'adresse Lightning pour recevoir des sats</string>
<string name="zap_split_weight">Pourcentage</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">Diviser les zaps avec</string>
<string name="forwarding_zaps_to">Transférer les zaps à</string>
<string name="lightning_wallets_not_found2">Portefeuilles Lightning introuvables</string>
<string name="paid">Payé</string>
<string name="wallet_number">Portefeuille %1$s</string>
<string name="error_opening_external_signer">Erreur lors de l\'ouverture de l\'application de signature</string>
<string name="error_opening_external_signer_description">L\'application signataire est introuvable. Vérifiez que l\'application n\'a pas été désinstallée</string>
<string name="sign_request_rejected">Demande de signature rejetée</string>
<string name="sign_request_rejected_description">Assurez-vous que l\'application signataire a autorisé cette transaction</string>
<string name="no_wallet_found_with_error">Aucun portefeuille trouvé pour payer une facture lightning (Erreur : %1$s). Veuillez installer un portefeuille Lightning pour utiliser les zaps</string>
<string name="no_wallet_found">Aucun portefeuille trouvé pour payer une facture lightning. Veuillez installer un portefeuille Lightning pour utiliser les zaps</string>
@@ -664,36 +525,19 @@
<string name="select_an_option">Sélectionnez une option</string>
<string name="error_dialog_pay_invoice_error">Impossible de payer la facture</string>
<string name="error_dialog_pay_withdraw_error">Impossible de retirer</string>
<string name="error_parsing_nip47_title">Impossible de configurer Wallet Connect</string>
<string name="error_parsing_nip47">Erreur lors de l\'analyse de l\'événement de connexion NIP-47. Vérifiez si tout est correct avec le prestataire de votre Portefeuille : %1$s. Erreur : %2$s</string>
<string name="error_parsing_nip47_no_error">Erreur lors de l\'analyse de l\'événement de connexion NIP-47. Vérifiez si tout est correct avec le prestataire de votre Portefeuille : %1$s.</string>
<string name="cashu_failed_redemption">Impossible d\'utiliser ce Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">Le Mint a fourni le message d\'erreur suivant : %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Les jetons de cashu sont déjà dépensés.</string>
<string name="cashu_successful_redemption">Cashu reçu</string>
<string name="cashu_successful_redemption_explainer">%1$s sats ont été envoyés à votre portefeuille. (Frais : %2$s sats)</string>
<string name="cashu_no_wallet_found">Aucun portefeuille Cashu compatible trouvé dans le système</string>
<string name="error_unable_to_fetch_invoice">Impossible de récupérer la facture depuis les serveurs du destinataire</string>
<string name="wallet_connect_pay_invoice_error_error">Le fournisseur de connexion de votre portefeuille a retourné l\'erreur suivante : %1$s</string>
<string name="could_not_connect_to_tor">Impossible de se connecter à Tor</string>
<string name="unable_to_download_relay_document">Téléchargement du document relais indisponible</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Impossible d\'assembler LNUrl à partir de l\'adresse Lightning \"%1$s\". Vérifiez la configuration de l\'utilisateur</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Le service lightning du récepteur à %1$s n\'est pas disponible. Il a été calculé à partir de l\'adresse lightning \"%2$s\". Erreur: %3$s. Vérifiez si le serveur est en ligne et si l\'adresse lightning est correcte</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Impossible de résoudre %1$s. Vérifiez si vous êtes connecté, si le serveur est en ligne et si l\'adresse lightning %2$s est correcte</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Impossible de résoudre %1$s. Vérifiez si vous êtes connecté, si le serveur est actif et si l\'adresse Lightning %2$s est correcte.\n\nL\'erreur était : %3$s</string>
<string name="could_not_fetch_invoice_from">Impossible de récupérer la facture depuis %1$s</string>
<string name="could_not_fetch_invoice_from_details">Impossible de récupérer la facture à partir de %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Erreur lors de l\'analyse du JSON à partir de l\'Adresse Lightning. Vérifiez la configuration lightning de l\'utilisateur</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Erreur lors de l\'analyse du JSON de %1$s. Vérifiez la configuration lightning de l\'utilisateur</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">URL de callback introuvable dans la configuration serveur de l\'adresse lightning de l\'utilisateur</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">URL de callback introuvable dans la réponse de %1$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Erreur lors de l\'analyse du JSON à partir de la récupération de la facture de l\'Adresse Lightning. Vérifiez la configuration Lightning de l\'utilisateur</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Erreur lors de l\'analyse du JSON de la facture de %1$s. Vérifiez la configuration lightning de l\'utilisateur</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Montant de la facture (%1$s sats) incorrect de %2$s. Il aurait dû être %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Impossible de créer une facture lightning avant d\'envoyer le zap. Le portefeuille lightning du destinataire a envoyé l\'erreur suivante : %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Impossible de créer une facture lightning. Message de %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Impossible de créer une facture lightning avant d\'envoyer le zap. Élément pr introuvable dans le JSON résultant.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Impossible de créer une facture lightning avec %1$s. Élément pr introuvable dans le JSON résultant.</string>
<string name="read_only_user">Utilisateur en lecture seule</string>
<string name="no_reactions_setup">Aucune réaction configurée</string>
<string name="select_push_server">Sélectionnez une application UnifiedPush</string>
@@ -711,13 +555,11 @@
<string name="send_the_seller_a_message">Envoyer un message au vendeur</string>
<string name="hi_seller_is_this_still_available">Bonjour %1$s, est-ce toujours disponible ?</string>
<string name="hi_there_is_this_still_available">Bonjour, est-ce toujours disponible ?</string>
<string name="classifieds">Vendre un Objet</string>
<string name="classifieds_title">Titre</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">État</string>
<string name="classifieds_category">Catégorie</string>
<string name="classifieds_price">Prix (en Sats)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Emplacement</string>
<string name="classifieds_location_placeholder">Ville, État, Pays</string>
<string name="classifieds_condition_new">Neuf</string>
@@ -746,20 +588,13 @@
<string name="classifieds_category_other">Autres</string>
<string name="failed_to_upload_media_no_details">Échec du téléversement du fichier</string>
<string name="could_not_open_the_compressed_file">Impossible d\'ouvrir le fichier compressé</string>
<string name="error_when_compressing_media">Erreur lors de la compression du média : %1$s</string>
<string name="failed_to_upload_media">Erreur de téléversement : %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">Le serveur n\'a pas fourni d\'URL après le téléversement</string>
<string name="could_not_download_from_the_server">Impossible de télécharger le média depuis le serveur</string>
<string name="could_not_check_downloaded_file">Impossible de vérifier le fichier téléchargé après le téléversement : %1$s</string>
<string name="could_not_prepare_local_file_to_upload">Impossible de préparer le fichier local à téléverser: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Impossible de téléverser vers %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Échec du téléversement: %1$s</string>
<string name="failed_to_delete_with_message">Échec de la suppression : %1$s</string>
<string name="media_too_big_for_nip95">Le média est trop volumineux pour NIP-95</string>
<string name="unable_to_load_thumbnail">Impossible de charger la miniature</string>
<string name="could_not_prepare_header">Impossible de préparer les informations d\'en-tête : %1$s</string>
<string name="compression_cancelled">Compression annulée</string>
<string name="compression_returned_null">La compression n\'a pas réussi à renvoyer un fichier</string>
<string name="media_compression_quality_label">Qualité des médias</string>
<string name="media_compression_quality_explainer">Sélectionnez une qualité basse pour compresser vos médias en un fichier plus petit, avec moins de qualité ou sélectionnez qualité haute pour compresser en un fichier plus grand, avec une meilleure qualité.</string>
<string name="media_compression_quality_low">Basse</string>
@@ -768,15 +603,11 @@
<string name="media_compression_quality_uncompressed">Non compressé</string>
<string name="edit_draft">Modifier le brouillon</string>
<string name="login_with_qr_code">Se connecter avec un QR Code</string>
<string name="route">Route</string>
<string name="route_home">Accueil</string>
<string name="route_search">Rechercher</string>
<string name="route_discover">Découvrir</string>
<string name="route_messages">Messages</string>
<string name="route_notifications">Notifications</string>
<string name="route_global">Général</string>
<string name="route_video">Vidéos courtes</string>
<string name="route_security_filters">Filtres de Sécurité</string>
<string name="new_post">Nouveau Message</string>
<string name="new_short">Nouveaux Shorts : images ou vidéos</string>
<string name="new_community_note">Nouvelle Note Communautaire</string>
@@ -791,29 +622,22 @@
<string name="relay_info">Relais %1$s</string>
<string name="expand_relay_list">Développer la liste des relais</string>
<string name="note_options">Options de la note</string>
<string name="relay_list_selector">Sélecteur de liste de relais</string>
<string name="poll">Sondage</string>
<string name="disable_poll">Désactiver le Sondage</string>
<string name="add_bitcoin_invoice">Facture Bitcoin</string>
<string name="cancel_bitcoin_invoice">Annuler la Facture Bitcoin</string>
<string name="cancel_classifieds">Annuler la Vente d\'un Objet</string>
<string name="add_zapraiser">Collecte de Zaps</string>
<string name="cancel_zapraiser">Annuler la Collecte de Zaps</string>
<string name="add_location">Emplacement</string>
<string name="remove_location">Retirer l\'Emplacement</string>
<string name="add_zap_split">Partage des Zaps</string>
<string name="cancel_zap_split">Annuler le partage des Zaps</string>
<string name="add_content_warning">Ajouter un avertissement de contenu</string>
<string name="remove_content_warning">Retirer l\'avertissement de contenu</string>
<string name="show_npub_as_a_qr_code">Afficher npub en tant que QR code</string>
<string name="invalid_nip19_uri">Adresse invalide</string>
<string name="invalid_nip19_uri_description">Amethyst a reçu une URI à ouvrir mais cette URI était invalide : %1$s</string>
<string name="dm_relays_title">Relais de boîte de réception MP</string>
<string name="dm_relays_through">Relais: %1$s</string>
<string name="dm_relays_regular">Utilisation des relais réguliers</string>
<string name="dm_relays_not_found">Configurer vos relais de messagerie privée</string>
<string name="dm_relays_not_found_description">Ce paramètre informe tout le monde les relais à utiliser pour vous envoyer des messages. Sans eux, vous risquez de manquer certains messages.</string>
<string name="dm_relays_not_found_examples">Les bonnes options sont:\n - inbox.nostr.wine (payant)\n - auth.nostr1.com (gratuit)\n - you.nostr1.com (relais personnels - payant)</string>
<string name="dm_relays_not_found_examples2">De bonnes options sont:\n - auth.nostr1.com (gratuit)\n - inbox.nostr.wine (payant)\n - relay.0xchat.com (gratuit)</string>
<string name="dm_relays_not_found_editing">Insérez entre 1–3 relais pour utiliser de boîte de réception privée. Les relais de boîte de réception MP doivent accepter les messages de tout le monde, mais ne vous permet que de les télécharger.</string>
<string name="dm_relays_not_found_create_now">Configurer maintenant</string>
@@ -822,7 +646,6 @@
<string name="search_relays_not_found_description">La création d\'une liste de relais spécialement conçue pour la recherche et l\'étiquetage utilisateur améliorera ces résultats.</string>
<string name="search_relays_not_found_editing">Insérez de 1 à 3 relais à utiliser lors de la recherche de contenu ou de l\'étiquetage utilisateur. Assurez-vous que les relais que vous avez choisis implémentent le NIP-50</string>
<string name="search_relays_not_found_examples">De bonnes options sont:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
<string name="dm_upload">Téléversement de MP</string>
<string name="relay_settings">Paramètres du relais</string>
<string name="public_home_section">Relais publics d\'accueil</string>
<string name="public_home_section_explainer">Ce type de relais stocke tout votre contenu. Amethyst enverra vos messages ici et d\'autres utiliseront ces relais pour trouver votre contenu. Insérez entre 1 et 3 relais : il peut s\'agir de relais personnels, de relais payants ou de relais publics.</string>
@@ -832,10 +655,6 @@
<string name="private_inbox_section_explainer">Insérez de 1 à 3 relais pour servir de boîte de réception privée. Les autres utilisateurs utiliseront ces relais pour vous envoyer des MPs. Les relais de la boîte de réception MP doivent accepter tout message de tout le monde, mais ne vous permet que de les télécharger. De bonnes options sont:\n - inbox.nostr.wine (payant)\n - auth.nostr1.com (gratuit)\n - you.nostr1.com (relais personnels - payant)</string>
<string name="private_outbox_section">Relais privés</string>
<string name="private_outbox_section_explainer">Insérez entre 1 et 3 relais pour stocker des événements que personne d\'autre ne peut voir, comme vos Brouillons et/ou paramètres d\'application. Idéalement, ces relais sont soit locaux soit nécessitent une authentification avant de télécharger le contenu de chaque utilisateur.</string>
<string name="kind_3_section">Relais généraux</string>
<string name="kind_3_section_description">Amethyst utilise ces relais pour télécharger des messages pour vous.</string>
<string name="kind_3_recommended_section">Relais recommandés</string>
<string name="kind_3_recommended_section_description">Ajoutez les relais suivants à votre liste de relais généraux afin de recevoir les messages des utilisateurs listés.</string>
<string name="search_section">Relais de recherche</string>
<string name="search_section_explainer">Liste des relais à utiliser pour la recherche et l\'étiquetage des utilisateurs. L\'étiquetage et la recherche ne fonctionneront pas si aucune option n\'est disponible.</string>
<string name="local_section">Relais locaux</string>
@@ -847,11 +666,8 @@
<string name="this_version_brought_to_you_by">Cette version vous a été apportée par :</string>
<string name="version_name">Version %1$s</string>
<string name="thank_you">Merci !</string>
<string name="max_limit">Limite maximale</string>
<string name="restricted_writes">Écritures limitées</string>
<string name="forked_from">Forké depuis</string>
<string name="forked_tag">FORK</string>
<string name="git_repository">Dépôt Git : %1$s</string>
<string name="git_web_address">Web :</string>
<string name="git_clone_address">Clone :</string>
<string name="existed_since">OTS: %1$s</string>
@@ -859,19 +675,12 @@
<string name="ots_info_description">Il y a une preuve que ce message a été signé avant %1$s. La preuve a été estampillée dans la blockchain Bitcoin à cette date et à cette heure.</string>
<string name="edit_post">Modifier le Message</string>
<string name="proposal_to_edit">Proposition pour améliorer votre publication</string>
<string name="message_to_author">Récapitulatif des modifications</string>
<string name="message_to_author_placeholder">Corrections rapides …</string>
<string name="accept_the_suggestion">Accepter la Suggestion</string>
<string name="accessibility_download_for_offline">Télécharger</string>
<string name="accessibility_lyrics_on">Paroles activées</string>
<string name="accessibility_lyrics_off">Paroles désactivées</string>
<string name="accessibility_turn_on_sealed_message">Message scellé désactivé. Cliquer pour activer le message scellé</string>
<string name="accessibility_turn_off_sealed_message">Message scellé activé. Cliquer pour désactiver le message scellé</string>
<string name="accessibility_send">Envoyer</string>
<string name="accessibility_play_username">Écouter le nom d\'utilisateur</string>
<string name="accessibility_pushpin">Punaise</string>
<string name="accessibility_scan_qr_code">Scanner le QR code</string>
<string name="accessibility_navigate_to_alby">Accéder au fournisseur de portefeuille tiers Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">Il n\'est pas possible de répondre à un brouillon</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">Il n\'est pas possible de citer un brouillon</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">Il n\'est pas possible de réagir à un brouillon</string>
@@ -912,19 +721,21 @@
<string name="http_status_507">Stockage insuffisant - Le serveur n\'a pas assez d\'espace pour traiter la demande avec succès</string>
<string name="http_status_508">Boucle détectée - Le serveur détecte une boucle infinie lors du traitement de la requête</string>
<string name="http_status_511">Authentification réseau requise - Le client doit être authentifié pour accéder au réseau</string>
<string name="media_servers_nip96_section">Serveurs NIP-96</string>
<string name="media_servers_nip96_explainer">Ajoutez autant de serveurs que vous le souhaitez. Vous pourrez choisir celui à utiliser plus tard lors du téléversement de votre image</string>
<string name="media_servers_blossom_section">Serveurs Blossom</string>
<string name="media_servers_blossom_explainer">Ajoutez autant de serveurs que vous le souhaitez. Vous pourrez choisir celui à utiliser plus tard lors du téléversement de votre image</string>
<string name="add_a_nip96_server">Ajouter un serveur NIP-96</string>
<string name="add_a_blossom_server">Ajouter un serveur Blossom</string>
<string name="delete_all">Tout supprimer</string>
<string name="delete_all_drafts_confirmation">Êtes-vous sûr de vouloir supprimer tous les brouillons ?</string>
<string name="stack">Pile :</string>
<string name="torrent_file">Fichier torrent</string>
<string name="torrent_download">Télécharger</string>
<string name="torrent_failure">Échec de l\'ouverture du fichier</string>
<string name="torrent_no_apps">Aucune application torrent installée pour ouvrir et télécharger le fichier.</string>
<string name="select_list_to_filter">Sélectionnez une liste pour filtrer le fil</string>
<string name="temporary_account">Se déconnecter au verrouillage de l\'appareil</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Le service lightning du récepteur à %1$s n\'est pas disponible. Il a été calculé à partir de l\'adresse lightning \"%2$s\". Erreur: %3$s. Vérifiez si le serveur est en ligne et si l\'adresse lightning est correcte</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Impossible de résoudre %1$s. Vérifiez si vous êtes connecté, si le serveur est actif et si l\'adresse Lightning %2$s est correcte.\n\nL\'erreur était : %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Erreur lors de l\'analyse du JSON de la facture de %1$s. Vérifiez la configuration lightning de l\'utilisateur</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Impossible de créer une facture lightning. Message de %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Impossible de créer une facture lightning avec %1$s. Élément pr introuvable dans le JSON résultant.</string>
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
File diff suppressed because it is too large Load Diff
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
File diff suppressed because it is too large Load Diff
+5 -194
View File
@@ -21,8 +21,6 @@
<string name="illegal_behavior">Illegális viselkedés</string>
<string name="other">Egyéb</string>
<string name="harassment">Zaklatás</string>
<string name="unknown">Ismeretlen</string>
<string name="relay_icon">Átjátszóikon</string>
<string name="unknown_author">Ismeretlen szerző</string>
<string name="copy_text">Szöveg másolása</string>
<string name="copy_user_pubkey">Szerző azonosítójának másolása</string>
@@ -36,12 +34,9 @@
<string name="block_hide_user"><![CDATA[Letiltás és a felhasználó elrejtése]]></string>
<string name="report_spam_scam">Kéretlen tartalom vagy csalás bejelentése</string>
<string name="report_impersonation">Profilutánzás bejelentése</string>
<string name="report_explicit_content">Szókimondó tartalom bejelentése</string>
<string name="report_illegal_behaviour">Illegális viselkedés bejelentése</string>
<string name="report_malware">Malware bejelentése</string>
<string name="report_mod">Mod bejelentése</string>
<string name="malware">Malware</string>
<string name="mod">Mod</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Ön nyilvános kulcsot használ, és a nyilvános kulccsal csak olvashatóak a bejegyzések. Jelentkezzen be a privát kulcsával, hogy válaszolni tudjon</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Ön nyilvános kulcsot használ, és a nyilvános kulccsal csak olvashatóak a bejegyzések. Jelentkezzen be a privát kulcsával, hogy meg tudja tolni a bejegyzéseket</string>
<string name="login_with_a_private_key_to_like_posts">Ön nyilvános kulcsot használ, és a nyilvános kulcsok csak olvashatóak. Jelentkezzen be a privát kulccsal a hozzászólások kedveléséhez</string>
@@ -52,7 +47,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Ön nyilvános kulcsot használ, és a nyilvános kulccsal csak olvashatóak a bejegyzések. Jelentkezzen be a privát kulcsával, hogy egy szót vagy mondat el tudjon rejteni</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Ön nyilvános kulcsot használ, és a nyilvános kulccsal csak olvashatóak a bejegyzések. Jelentkezzen be a privát kulcsával, hogy egy szót vagy mondat meg tudjon jeleníteni</string>
<string name="zaps">Zap</string>
<string name="view_count">Megtekintések száma</string>
<string name="boost">Megtolás</string>
<string name="boosted">megtolta</string>
<string name="edited">szerkesztve</string>
@@ -65,9 +59,7 @@
<string name="add">Hozzáadás</string>
<string name="replying_to">"válasz erre: "</string>
<string name="and">" és "</string>
<string name="in_channel">"csatornában "</string>
<string name="profile_banner">Profilplakát</string>
<string name="payment_successful">Sikeres fizetés</string>
<string name="error_parsing_error_message">Hiba a hibaüzenet elemzésekor</string>
<string name="following">" Követett"</string>
<string name="followers">" Követő"</string>
@@ -89,9 +81,7 @@
<string name="secret_visible_text">Látható előtag</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Hozzáadás a bejegyzéshez</string>
<string name="error_parsing_preview_for">"Hiba a következő előnézet elemzésekor %1$s : %2$s"</string>
<string name="preview_card_image_for">"Kártyakép előnézete a következőhöz: %1$s"</string>
<string name="new_channel">Új csatorna</string>
<string name="channel_name">Csatornanév</string>
<string name="my_awesome_group">A nagyszerű csoportom</string>
<string name="picture_url">Kép webcíme</string>
@@ -102,33 +92,18 @@
<string name="save">Mentés</string>
<string name="create">Létrehozás</string>
<string name="cancel">Mégse</string>
<string name="failed_to_upload_the_image">Nem sikerült feltölteni a képet</string>
<string name="relay_address">Az átjátszó címe</string>
<string name="posts">Bejegyzések</string>
<string name="bytes">Bájt</string>
<string name="errors">Hibák</string>
<string name="errors_description">Ebben a munkamenetben lévő kapcsolati hibák száma</string>
<string name="home_feed">Fő hírfolyam</string>
<string name="private_message_feed">Privát üzenet-hírfolyam</string>
<string name="public_chat_feed">Nyilvános üzenet-hírfolyam</string>
<string name="global_feed">Globális hírfolyam</string>
<string name="search_feed">Keresési hírfolyam</string>
<string name="add_a_relay">Egy átjátszó hozzáadása</string>
<string name="profile_name">Név</string>
<string name="display_name">Megjelenítendő név</string>
<string name="my_display_name">Saját megjelenítendő név</string>
<string name="my_awesome_name">Strucc McNagyszerű</string>
<string name="welcome">Üdvözöljük!</string>
<string name="username">Felhasználónév</string>
<string name="my_username">Saját felhasználónév</string>
<string name="about_me">Névjegy</string>
<string name="avatar_url">Profilkép webcíme</string>
<string name="banner_url">Profilplakát webcíme</string>
<string name="website_url">Weboldal webcíme</string>
<string name="pronouns">Megszólítás</string>
<string name="ln_address">LN-cím</string>
<string name="ln_url_outdated">LN-webcím (elavult)</string>
<string name="save_to_gallery">Mentés a galériába</string>
<string name="image_saved_to_the_gallery">Kép elmentve a képgalériába</string>
<string name="video_download_has_started_toast">A videó letöltése megkezdődött…</string>
<string name="media_download_has_started_toast">A média letöltése megkezdődött…</string>
@@ -136,11 +111,8 @@
<string name="video_saved_to_the_gallery">Videó elmentve a videógalériába</string>
<string name="failed_to_save_the_video">Nem sikerült elmenteni a videót</string>
<string name="upload_image">Kép feltöltése</string>
<string name="uploading">Feltöltés…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">A felhasználó nem rendelkezik a satoshik fogadásához beállított lightning-címmel</string>
<string name="reply_here">"Válasz írása… "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">A bejegyzés azonosítóját a vágólapra másolja a Nostr-ban való megosztáshoz</string>
<string name="copy_channel_id_note_to_the_clipboard">Csatorna-azonosító (bejegyzés) másolása a vágólapra</string>
<string name="edits_the_channel_metadata">Szerkeszti a csatorna metaadatait</string>
<string name="join">Csatlakozás</string>
<string name="known">Ismert</string>
@@ -152,18 +124,14 @@
<string name="replies">Válaszok</string>
<string name="mutual">Az Öné</string>
<string name="gallery">Galéria</string>
<string name="follows">"Követett"</string>
<string name="reports">"Bejelentés"</string>
<string name="more_options">További beállítások</string>
<string name="relays">" Átjátszó"</string>
<string name="website">Weboldal</string>
<string name="lightning_address">Lightning-cím</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Az Nsec azonosítót (az Ön „jelszavát”) a vágólapra másolja biztonsági mentés céljából</string>
<string name="copy_private_key_to_the_clipboard">Titkos kulcs másolása a vágólapra</string>
<string name="show_private_key_qr_code">Privát kulcs megjelenítése QR-kódként</string>
<string name="show_encrypted_private_key_qr_code">Jelszóval védett privát kulcs megjelenítése QR-kódként</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Nyilvános kulcs másolása a vágólapra a megosztáshoz</string>
<string name="copy_public_key_npub_to_the_clipboard">Nyilvános kulcs (NPub) másolása a vágólapra</string>
<string name="send_a_direct_message">Közvetlen üzenet küldése</string>
<string name="edits_the_user_s_metadata">Felhasználó metaadatainak szerkesztése</string>
<string name="follow">Követés</string>
@@ -192,8 +160,6 @@
<string name="how_should_we_call_you">Hogyan szólíthatjuk Önt?</string>
<string name="don_t_have_an_account">Még nincs Nostr-fiókja?</string>
<string name="already_have_an_account">Már van Nostr-fiókja?</string>
<string name="create_a_new_account">Új fiók létrehozása</string>
<string name="generate_a_new_key">Új kulcs előállítása</string>
<string name="loading_feed">Hírfolyam betöltése…</string>
<string name="loading_account">Fiók betöltése…</string>
<string name="error_loading_replies">"Hiba a válaszok betöltésekor: "</string>
@@ -201,12 +167,6 @@
<string name="notification_feed_is_empty">Még nincsenek értesítések.</string>
<string name="feed_is_empty">A hírfolyam üres.</string>
<string name="refresh">Frissítés</string>
<string name="created">létrehozva</string>
<string name="with_description_of">a következő leírásával:</string>
<string name="and_picture">és kép</string>
<string name="changed_chat_name_to">megváltoztatta a csevegés nevét erre:</string>
<string name="description_to">leírását erre:</string>
<string name="and_picture_to">és a képet erre:</string>
<string name="leave">Elhagyás</string>
<string name="unfollow">Követés megszüntetése</string>
<string name="channel_created">Csatorna létrehozva</string>
@@ -239,7 +199,6 @@
<string name="profanity_hateful_speech">Trágárság / Gyűlöletbeszéd</string>
<string name="report_hateful_speech">Gyűlöletbeszéd bejelentése</string>
<string name="report_nudity_porn">Meztelenség / Pornó bejelentése</string>
<string name="others">egyéb</string>
<string name="mark_all_known_as_read">Az összes ismert megjelölése olvasottként</string>
<string name="mark_all_new_as_read">Az összes új üzenet megjelölése olvasottként</string>
<string name="mark_all_as_read">Összes megjelölése olvasottként</string>
@@ -260,23 +219,18 @@
<string name="biometric_authentication_failed">Nem sikerült hitelesíteni</string>
<string name="biometric_authentication_failed_explainer">A biometrika nem tudta hitelesíteni a telefon tulajdonosát</string>
<string name="biometric_authentication_failed_explainer_with_error">A biometrika nem tudta hitelesíteni a telefon tulajdonosát. Hiba: %1$s</string>
<string name="biometric_error">Hiba</string>
<string name="badge_created_by">"Létrehozta: %1$s"</string>
<string name="badge_award_image_for">"Kitűző %1$s számára"</string>
<string name="new_badge_award_notif">Ön egy új kitűzőt kapott</string>
<string name="award_granted_to">Kitűzőben részesült</string>
<string name="copied_note_text_to_clipboard">Bejegyzés szövege a vágólapra másolva</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">A szerző @npub-ja a vágólapra másolva</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">A bejegyzés-azonosító (@note1) a vágólapra másolva</string>
<string name="select_text_dialog_top">Szöveg kijelölése</string>
<string name="private_conversation_notification">"&lt;Nem sikerült a privát üzenetet visszafejteni&gt;\n\nÖnt megemlítették egy privát/titkosított beszélgetésben %1$s és %2$s között."</string>
<string name="account_switch_add_account_dialog_title">Új fiók hozzáadása</string>
<string name="drawer_accounts">Fiókok</string>
<string name="account_switch_select_account">Fiók kiválasztása</string>
<string name="account_switch_add_account_btn">Új fiók hozzáadása</string>
<string name="account_switch_active_account">Aktív fiók</string>
<string name="account_switch_has_private_key">Privát kulcsot tartalmaz</string>
<string name="account_switch_pubkey_only">Csak olvasás, nem privát kulcs</string>
<string name="back">Vissza</string>
<string name="quick_action_select">Kiválasztás</string>
<string name="quick_action_share_browser_link">Böngésző-hivatkozás megosztása</string>
@@ -294,14 +248,12 @@
<string name="quick_action_delete_dialog_btn">Törlés</string>
<string name="quick_action_block">Letiltás</string>
<string name="quick_action_report">Bejelentés</string>
<string name="quick_action_delete_button">Törlés</string>
<string name="quick_action_dont_show_again_button">Ne jelenítse meg újra</string>
<string name="report_dialog_spam">Kéretlen tartalom vagy átverés</string>
<string name="report_dialog_profanity">Trágárság vagy gyűlöletkeltő magatartás</string>
<string name="report_dialog_impersonation">Rosszindulatú profilutánzás</string>
<string name="report_dialog_nudity">Meztelenség vagy pornográf tartalom</string>
<string name="report_dialog_illegal">Illegális viselkedés</string>
<string name="report_dialog_malware">Malware</string>
<string name="report_dialog_blocking_a_user">A felhasználó letiltásával elrejti annak bejegyzéseit az alkalmazásban. Az Ön bejegyzései továbbra is nyilvánosan megtekinthetők azok számára is, akiket Ön letiltott. A letiltott felhasználók a „Biztonsági szűrők” lapon jelennek meg.</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[Felhasználó letiltása és elrejtése]]></string>
<string name="report_dialog_report_btn">Visszaélés bejelentése</string>
@@ -321,30 +273,15 @@
<string name="add_to_public_bookmarks">Hozzáadás a nyilvános könyvjelzőkhöz</string>
<string name="remove_from_private_bookmarks">Törlés a privát könyvjelzőkből</string>
<string name="remove_from_public_bookmarks">Törlés a nyilvános könyvjelzőkből</string>
<string name="wallet_connect_service">Wallet Connect szolgáltatás</string>
<string name="wallet_connect_service_explainer">Hitelesíti, hogy a Nostr Secret az alkalmazásból való kilépés nélkül fizessen a Zap-et. Tartsa biztonságban a titkot, és lehetőség szerint használjon privát átjátszót</string>
<string name="wallet_connect_service_pubkey">Wallet Connect nyilvános kulcs</string>
<string name="wallet_connect_service_relay">Wallet Connect átjátszó</string>
<string name="wallet_connect_service_secret">Wallet Connect titok</string>
<string name="wallet_connect_service_show_secret">Titkos kulcs megjelenítése</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex privát kulcs</string>
<string name="pledge_amount_in_sats">Hozzájárulás összege satoshiban</string>
<string name="post_poll">Szavazás közzététele</string>
<string name="poll_heading_required">Kötelező mezők:</string>
<string name="poll_zap_recipients">Zap-kedvezményezettek</string>
<string name="poll_primary_description">Szavazás elsődleges leírása…</string>
<string name="poll_option_index">%s. válaszlehetőség</string>
<string name="poll_option_description">Válaszlehetőség leírása</string>
<string name="poll_heading_optional">Nem kötelező mezők:</string>
<string name="poll_zap_value_min">Minimum Zap</string>
<string name="poll_zap_value_max">Maximum Zap</string>
<string name="poll_consensus_threshold">Együttműködés</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Szavazás lezárása</string>
<string name="poll_closing_time_days">nap</string>
<string name="poll_unable_to_vote">Nem lehet szavazni</string>
<string name="poll_is_closed_explainer">A szavazásra már nem lehet új szavazato(ka)t leadni</string>
<string name="poll_zap_amount">Zap-összeg</string>
<string name="one_vote_per_user_on_atomic_votes">Az ilyen típusú szavazásokon felhasználónként csak egy szavazat engedélyezett</string>
<string name="looking_for_event">"%1$s esemény keresése"</string>
<string name="custom_zaps_add_a_message">Nyilvános üzenet hozzáadása</string>
@@ -378,12 +315,9 @@
<string name="zap_type_nonzap_explainer">Nostr-ban nyoma sincs, csak a Lightning-ban</string>
<string name="file_server">Fájlkiszolgáló</string>
<string name="file_server_description">Válasszon ki egy kiszolgálót a fájl feltöltéséhez neki:</string>
<string name="zap_forward_lnAddress">Ln-cím vagy @Felhasználó</string>
<string name="media_servers">Médiakiszolgálók</string>
<string name="set_preferred_media_servers">Állítsa be a kívánt médiafeltöltő-kiszolgálókat.</string>
<string name="no_nip96_server_message">Nincsenek beállítva NIP-96 kiszolgálók. Használhatja az Amethyst listáját, vagy hozzáadhat egyet az alábbiakból ↓</string>
<string name="no_blossom_server_message">Nincsenek Blossom-kiszolgálók beállítva. Használhatja az Amethyst listáját, vagy hozzáadhat egyet az alábbiakból ↓</string>
<string name="built_in_media_servers_title">Beépített médiakiszolgálók</string>
<string name="built_in_servers_description">Az Amethyst alapértelmezett listája. Hozzáadhatja őket egyenként, vagy hozzáadhatja a listát.</string>
<string name="use_default_servers">Alapértelmezett lista használata</string>
<string name="add_media_server">Médiakiszolgáló hozzáadása</string>
@@ -396,31 +330,16 @@
<string name="uploading_state_hashing">Hash-selés…</string>
<string name="uploading_state_finished">Kész</string>
<string name="uploading_state_error">Hiba</string>
<string name="upload_server_relays_nip95">Saját átjátszók (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">A fájlokat a kiszolgálók tárolják. Új NIP: ellenőrizze, hogy támogatják-e</string>
<string name="privacy_options">Adatvédelmi beállítások</string>
<string name="connect_via_tor_short">Tor és Orbot beállítása</string>
<string name="connect_via_tor">Kapcsolódás az Orbot beállításain keresztül</string>
<string name="connect_via_tor1">Beállítás</string>
<string name="connect_via_tor2">Tor beállítások</string>
<string name="do_you_really_want_to_disable_tor_title">Kapcsolat bontása az Orbottal / Torral?</string>
<string name="do_you_really_want_to_disable_tor_text">Az Ön adatai azonnal átkerülnek a normál hálózatra</string>
<string name="yes">Igen</string>
<string name="no">Nem</string>
<string name="follow_list_selection">Követési lista</string>
<string name="follow_list_kind3follows">Követettek bejegyzései</string>
<string name="follow_list_aroundme">Közelben lévők bejegyzései</string>
<string name="follow_list_global">Globális</string>
<string name="follow_list_mute_list">Némítottak bejegyzései</string>
<string name="connect_through_your_orbot_setup_short">Alapértelmezett port: 9050</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Kapcsolódás a TORon keresztül az Orbot segítségével
\n\n1. Telepítse az [Orbotot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Indítsa el az Orbotot
\n3. Ellenőrizze az Orbotban a Socks-portokat. Az alapbeállítás: 9050
\n4. Ha szükséges az Orbotban változtassa meg a portot
\n5. Ezen a felületen állítsa be a Socks-portot
\n6. Kattintson az „Aktiválás” gombra, hogy az Orbotot proxyként használja
</string>
<string name="orbot_socks_port">Orbot Socks-portja</string>
<string name="use_internal_tor">Aktív Tor-motor</string>
<string name="use_internal_tor_explainer">Használja a beépített verziót vagy az Orbotot</string>
@@ -462,8 +381,6 @@
<string name="tor_full_privacy_explainer">IP-cím elrejtése az összes kapcsolatnál</string>
<string name="tor_custom_explainer">Készítsen sajátot</string>
<string name="invalid_port_number">Érvénytelen portszám</string>
<string name="use_orbot">Orbot használata</string>
<string name="disconnect_from_your_orbot_setup">Kapcsolat bontása a Torral / Orbottal</string>
<string name="app_notification_dms_channel_name">Privát üzenetek</string>
<string name="app_notification_dms_channel_description">Értesítés, ha privát üzenet érkezik</string>
<string name="app_notification_zaps_channel_name">Zap-et kapott</string>
@@ -472,20 +389,9 @@
<string name="app_notification_zaps_channel_message_from">Tőle: %1$s</string>
<string name="app_notification_zaps_channel_message_for">neki: %1$s</string>
<string name="reply_notify">Értesítés: </string>
<string name="channel_list_join_conversation">Csatlakozás a beszélgetéshez</string>
<string name="channel_list_user_or_group_id">Felhasználó- vagy csoport-azonosító</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent vagy hex</string>
<string name="channel_list_create_channel">Létrehozás</string>
<string name="channel_list_join_channel">Csatlakozás</string>
<string name="today">Ma</string>
<string name="content_warning">Tartalomra vonatkozó figyelmeztetés</string>
<string name="content_warning_explanation">Ez a bejegyzés érzékeny tartalmat tartalmaz, amelyet egyesek sértőnek vagy zavarónak találhatnak</string>
<string name="content_warning_hide_all_sensitive_content">Az érzékeny tartalmat mindig rejtse el</string>
<string name="content_warning_show_all_sensitive_content">Az érzékeny tartalmat mindig jelenítse meg</string>
<string name="content_warning_see_warnings">A tartalomra vonatkozó figyelmeztetéseket mindig jelenítse meg</string>
<string name="recommended_apps">Ajánlott alkalmazások: </string>
<string name="filter_spam_from_strangers">Az idegenektől érkező kéretlen tartalmak szűrése</string>
<string name="warn_when_posts_have_reports_from_your_follows">Figyelmeztessen amikor a bejegyzések jelentve vannak azok által akiket követek</string>
<string name="new_reaction_symbol">Új reakció-szimbólum</string>
<string name="no_reaction_type_setup_long_press_to_change">A felhasználó számára nincsenek előre kiválasztott reakciótípusok. Hosszan nyomja meg a szív gombot a módosításhoz</string>
<string name="zapraiser">Zap-gyűjtés</string>
@@ -496,37 +402,24 @@
<string name="write_to_relay">Írás az átjátszóra</string>
<string name="write_to_relay_description">Az átjátszónak küldött bájt-mennyiség, beleértve a szűrőket és eseményeket is</string>
<string name="read_from_relay_description">Az átjátszótól kapott bájt-mennyiség, beleértve a szűrőket és eseményeket is</string>
<string name="an_error_occurred_trying_to_get_relay_information">Hiba lépett fel, amikor megpróbálta lekérni az átjátszó-információt innen: %1$s</string>
<string name="owner">Tulajdonos</string>
<string name="version">Verzió</string>
<string name="software">Szoftver</string>
<string name="contact">Kapcsolat</string>
<string name="supports">Támogatott NIP-ek</string>
<string name="admission_fees">Csatlakozási díj</string>
<string name="payments_url">Fizetési webcím</string>
<string name="limitations">Korlátozások</string>
<string name="countries">Országok</string>
<string name="languages">Nyelvek</string>
<string name="tags">Címkék</string>
<string name="posting_policy">Közzétételi szabályzat</string>
<string name="relay_error_messages">Hibák és megjegyzések ettől az átjátszótól</string>
<string name="message_length">Üzenethossz</string>
<string name="subscriptions">Előfizetések</string>
<string name="filters">Szűrők</string>
<string name="subscription_id_length">Előfizetés azonosítójának hossza</string>
<string name="minimum_prefix">Minimális előtag</string>
<string name="maximum_event_tags">Maximális eseménycímkék</string>
<string name="content_length">Tartalomhossz</string>
<string name="minimum_pow">Minimális PoW</string>
<string name="auth">Hitelesítés</string>
<string name="payment">Fizetés</string>
<string name="cashu">Cashu token</string>
<string name="cashu_redeem">Beváltás</string>
<string name="cashu_redeem_to_zap">Küldés ide: Zap Wallet</string>
<string name="cashu_redeem_to_cashu">Megnyitás a Cashu pénztárcában</string>
<string name="cashu_copy_token">Token másolása</string>
<string name="no_lightning_address_set">Nincs beállítva Lightning-cím</string>
<string name="copied_token_to_clipboard">Token a vágólapra másolva</string>
<string name="live_stream_live_tag">ÉLŐ</string>
<string name="live_stream_offline_tag">OFFLINE</string>
<string name="live_stream_ended_tag">VÉGET ÉRT</string>
@@ -546,7 +439,6 @@
<string name="preferences">Alkalmazás-beállítások</string>
<string name="settings">Beállítások</string>
<string name="connectivity_type_always">Mindig</string>
<string name="connectivity_type_wifi_only">Csak Wi-Fi-n</string>
<string name="connectivity_type_unmetered_wifi_only">Korlátlan Wi-Fi</string>
<string name="connectivity_type_never">Soha</string>
<string name="ui_feature_set_type_complete">Teljes</string>
@@ -570,7 +462,6 @@
<string name="ui_style_description">Bejegyzés stílusának kiválasztása</string>
<string name="gallery_style">Profilgaléria stílusa</string>
<string name="gallery_style_description">Válassza ki a galéria stílusát</string>
<string name="load_image">Kép betöltése</string>
<string name="spamming_users">Spamelők</string>
<string name="muted_button">Némítva. Koppintson a némitás megszüntetéséhez</string>
<string name="mute_button">Hang bekapcsolva. Koppintson a némításhoz</string>
@@ -578,12 +469,8 @@
<string name="nip05_verified">Nostr-cím hitelesítve lett</string>
<string name="nip05_failed">Nostr-cím hitelesítése sikeretelen</string>
<string name="nip05_checking">Nostr-cím ellenőrzése</string>
<string name="select_deselect_all">Összes kijelölése / elvetése</string>
<string name="default_relays">Alapértelmezett</string>
<string name="default_relays_longer">Visszaállítás alapértelmezettre</string>
<string name="select_a_relay_to_continue">A folytatáshoz válasszon ki egy átjátszót</string>
<string name="zap_forward_title">Zap-ek továbbítása neki:</string>
<string name="zap_forward_explainer">A funkciót támogató kliensek a Zap-eket az alábbi LN-címre vagy felhasználói profilra továbbítják az Öné helyett</string>
<string name="geohash_title">A helyszín megjelenítése mint </string>
<string name="geohash_explainer">Hozzáadja a helyének geohash-sét a bejegyzéséhez. A nyilvánosság tudni fogja, hogy a jelenlegi helytől 5 km-en (3 mi) belül tertózkodik</string>
<string name="geohash_exclusive">Helyszín-alapú bejegyzés</string>
@@ -591,9 +478,6 @@
<string name="loading_location">Helyszín betöltése…</string>
<string name="lack_location_permissions">A helyszín-meghatározás nincs engedélyezve</string>
<string name="add_sensitive_content_explainer">Hozzáadja az érzékeny tartalomra vonatkozó figyelmeztetést a tartalom megjelenítése előtt. Ez ideális bármilyen NSFW tartalom vagy olyan tartalom esetén, amelyet egyesek sértőnek vagy zavarónak találhatnak</string>
<string name="new_feature_nip17_might_not_be_available_title">Új funkció</string>
<string name="new_feature_nip17_might_not_be_available_description">Ennek az üzemmódnak az aktiválásához az Amethystnek NIP-17 üzenetet kell küldenie (GiftWrapped, Sealed Direct és csoport-üzenetek). A NIP-17 új, és a legtöbb kliens még nem implementálta. Győződjön meg arról is, hogy a kedvezményezett kompatibilis klienst használ.</string>
<string name="new_feature_nip17_activate">Aktiválás</string>
<string name="messages_create_public_chat">Nyílvános</string>
<string name="messages_create_public_private_chat_description">Új nyilvános vagy privát csoport</string>
<string name="messages_new_message">Privát</string>
@@ -610,7 +494,6 @@
<string name="automatically_load_images_gifs_description">Képek és GIF-ek automatikus betöltése</string>
<string name="automatically_play_videos_description">Videók és GIF-ek automatikus lejátszása</string>
<string name="automatically_show_url_preview_description">Webcím-előnézetek megjelenítése</string>
<string name="load_image_description">Mikor töltse be a képeket</string>
<string name="copy_stack_to_clipboard">Köteg másolása</string>
<string name="copy_to_clipboard">Másolás a vágólapra</string>
<string name="copy_npub_to_clipboard">Npub másolása a vágólapra</string>
@@ -621,45 +504,23 @@
<string name="media_added">Média hozzáadva</string>
<string name="media_added_to_profile_gallery">Média hozzáadva az Ön profil-galériájába</string>
<string name="created_at">Létrehozva ekkor:</string>
<string name="rules">Szabályok</string>
<string name="login_with_external_signer">Bejelentkezés Amberrel</string>
<string name="status_update">Állapot frissítése</string>
<string name="lightning_wallets_not_found">Hiba a hibaüzenet elemzésekor</string>
<string name="poll_zap_value_min_max_explainer">A szavazatok egy Zap összeggel vannak súlyozva. Beállíthat egy minimális összeget, hogy elkerülje a spamelőket, és egy maximális összeget, hogy elkerülje, hogy a nagy Zap-elők átvegyék a szavazást. Használja ugyanazt az összeget mindkét mezőben, hogy minden szavazatot ugyanannyira értékeljen. Hagyja üresen, hogy bármilyen összeget elfogadjon.</string>
<string name="error_dialog_zap_error">Nem sikerült Zap-et küldeni</string>
<string name="error_dialog_talk_to_user">Üzenet a felhasználónak</string>
<string name="error_dialog_talk_to_user_name">Üzenet: %1$s</string>
<string name="error_dialog_button_ok">OK</string>
<string name="relay_information_document_error_assemble_url">Nem sikerült elérni a következőt: %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_assemble_url">Nem sikerült összeállítani a NIP-11 webcímet a következőhöz: %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_reach_server">Nem sikerült elérni a következőt: %1$s: %2$s</string>
<string name="relay_information_document_error_failed_to_parse_response">Nem sikerült a válasz elemzése a következőtől: %1$s: %2$s</string>
<string name="relay_information_document_error_failed_with_http">Az átjátszó elutasította a következő kérést: %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Nem sikerült elérni a következőt: %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Nem sikerült az eredmény elemzése a következőtől: %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">A(z) %1$s sikertelen a következő kóddal %2$s</string>
<string name="active_for">Aktív: </string>
<string name="active_for_home">Főoldal</string>
<string name="active_for_msg">Privát üzenetek</string>
<string name="active_for_chats">Csevegések</string>
<string name="active_for_global">Globális</string>
<string name="active_for_search">Keresés</string>
<string name="zap_split_title">Zap-ek megosztása és továbbítása</string>
<string name="zap_split_explainer">A funkciót támogató kliensek megosztják és továbbítják a Zap-eket az itt hozzáadott felhasználóknak az Ön felhasználói helyett</string>
<string name="zap_split_search_and_add_user">Felhasználó keresése és hozzáadása</string>
<string name="zap_split_search_and_add_user_placeholder">Felhasználónév vagy megjelenítendő név</string>
<string name="missing_lud16">Hiányzó lightning-beállítás</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">A(z) %1$s nevű felhasználó nem rendelkezik a satoshik fogadására beállított lightning-címmel</string>
<string name="zap_split_weight">Százalék</string>
<string name="zap_split_weight_placeholder">25</string>
<string name="splitting_zaps_with">A Zap-ek megosztása vele:</string>
<string name="forwarding_zaps_to">Zap-ek továbbítása ide:</string>
<string name="lightning_wallets_not_found2">Nem található lightning-pénztárca</string>
<string name="paid">Fizetve</string>
<string name="wallet_number">Pénztárca: %1$s</string>
<string name="error_opening_external_signer">Hiba az aláíró-alkalmazás megnyitásakor</string>
<string name="error_opening_external_signer_description">Az aláíró alkalmazás nem található. Ellenőrizze, hogy az alkalmazás nincs-e eltávolítva</string>
<string name="sign_request_rejected">Aláíró-alkalmazás elutasítva</string>
<string name="sign_request_rejected_description">Győződjön meg arról, hogy ezt a tranzakciót az aláíró-alkalmazás hitelesítette-e</string>
<string name="no_wallet_found_with_error">Nem található pénztárca a Lighning-számla kifizetéséhez (Hiba: %1$s). A Zap-ek használatához telepítsen egy Lightning-pénztárcát</string>
<string name="no_wallet_found">Nem található pénztárca a Lighning-számla kifizetéséhez. A Zap-ek használatához telepítsen egy Lightning-pénztárcát</string>
@@ -670,36 +531,19 @@
<string name="select_an_option">Válasszon egy lehetőséget</string>
<string name="error_dialog_pay_invoice_error">Sikertelen számla-kifizetés</string>
<string name="error_dialog_pay_withdraw_error">Sikertelen pénzkivétel a pénztárcából</string>
<string name="error_parsing_nip47_title">Nem sikerült beállítani a Wallet Connectet</string>
<string name="error_parsing_nip47">Hiba a NIP-47 kapcsolati karakterlánc elemzésekor. Ellenőrizze, hogy a pénztárca-szolgáltatónál a következő helyes-e: %1$s. Hiba: %2$s</string>
<string name="error_parsing_nip47_no_error">Hiba a NIP-47 kapcsolati karakterlánc elemzésekor. Ellenőrizze, hogy a pénztárca-szolgáltatónál a következő helyes-e: %1$s.</string>
<string name="cashu_failed_redemption">Nem sikerült a Cashut beváltani</string>
<string name="cashu_failed_redemption_explainer_error_msg">A pénzverde a következő hibaüzenetet küldte:%1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">A Cashu tokeneket már elköltötték.</string>
<string name="cashu_successful_redemption">Cashu megkapva</string>
<string name="cashu_successful_redemption_explainer">%1$s satoshi érkezett a pénztárcájába. (Költség: %2$s satoshi)</string>
<string name="cashu_no_wallet_found">A rendszeren nem található kompatibilis Cashu pénztárca</string>
<string name="error_unable_to_fetch_invoice">Nem sikerült a számlát a kedvezményezett kiszolgálóiról lekérni</string>
<string name="wallet_connect_pay_invoice_error_error">A Wallet Connect szolgáltatója a következő hibával tért vissza: %1$s</string>
<string name="could_not_connect_to_tor">Nem sikerült a Tor hálózathoz kapcsolódni</string>
<string name="unable_to_download_relay_document">Nem érhető el az átjátszó-dokumentum </string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Nem sikerült az LN-webcímet a(z) „%1$s” Lightning-címről összeállítani. Ellenőrizze a felhasználó beállításait</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">A kedvezményezett lightning-szolgáltatása ennél: %1$s nem érhető el. A(z) „%2$s” lightning-cím lett kiszámítva. Hiba: %3$s. Ellenőrizze, hogy a kiszolgáló működik-e, és hogy a lightning-cím helyes-e</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Nem sikerült megoldani a következőt: %1$s. Ellenőrizze, hogy kapcsolódik-e, vagy működik-e a kiszolgáló, és hogy a(z) %2$s lightning-cím helyes-e</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Nem sikerült megoldani a következőt: %1$s. Ellenőrizze, hogy kapcsolódik-e, vagy működik-e a kiszolgáló, és hogy a(z) %2$s lightning-cím helyes-e.\n\nKivéve: %3$s</string>
<string name="could_not_fetch_invoice_from">Nem sikerült lekérni a számlát a következőtől: %1$s</string>
<string name="could_not_fetch_invoice_from_details">Nem sikerült lekérni a számlát a következőtől: %1$s: %2$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Hiba a Lightning-címből származó JSON elemzésekor. Ellenőrizze a felhasználó Lightning-beállítását</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup_with_user">Hiba történt a(z) %1$s JSON elemzésekor. Ellenőrizze a felhasználó Lightning-beállítását</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration">A visszahívási webcím nem található a felhasználó lightning-cím-kiszolgálójának konfigurációjában</string>
<string name="callback_url_not_found_in_the_user_s_lightning_address_server_configuration_with_user">Nem található a visszahívási webcím a(z) %1$s válaszából</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Hiba történt a JSON elemzésekor a Lightning-cím számlahívásából. Ellenőrizze a felhasználó lightning-beállításait</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Hiba történt a JSON elemzésekor a(z) %1$s számlahívásából. Ellenőrizze a felhasználó lightning-beállításait</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Helytelen (%1$s satoshi) számlaösszeg a következőtől: %2$s. A következőnek kellett volna lennie: %3$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error">Nem sikerült a Zap-összeg elküldése előtt lightning-számlát készíteni. A címzett lightning-pénztárcája a következő hibát küldte: %1$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Nem lehetett lightning-számlát létrehozni. Üzenet a következőtől: %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json">Nem sikerült Lightning-számlát létrehozni a Zap elküldése előtt. A „PR” elem nem található a kapott JSON-ban.</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Nem sikerült Lightning-számlát létrehozni a következőből: %1$s: A „PR” elem nem található a kapott JSON-ban.</string>
<string name="read_only_user">Csak olvasható felhasználó</string>
<string name="no_reactions_setup">Nincs reakcióbeállítás</string>
<string name="select_push_server">UnifiedPush-alkalmazás kiválasztása</string>
@@ -717,13 +561,11 @@
<string name="send_the_seller_a_message">Üzenet küldése az eladónak</string>
<string name="hi_seller_is_this_still_available">Tisztelt %1$s! Ez még aktuális?</string>
<string name="hi_there_is_this_still_available">Tisztelt hölgyem / uram! Ez még aktuális?</string>
<string name="classifieds">Egy tétel eladása</string>
<string name="classifieds_title">Cím</string>
<string name="classifieds_title_placeholder">iPhone 13</string>
<string name="classifieds_condition">Állapot</string>
<string name="classifieds_category">Kategória</string>
<string name="classifieds_price">Ár (satoshiban)</string>
<string name="classifieds_price_placeholder">1000</string>
<string name="classifieds_location">Helyszín</string>
<string name="classifieds_location_placeholder">Város, állam, ország</string>
<string name="classifieds_condition_new">Új</string>
@@ -752,20 +594,13 @@
<string name="classifieds_category_other">Egyéb</string>
<string name="failed_to_upload_media_no_details">Nem sikerült feltölteni a médiát</string>
<string name="could_not_open_the_compressed_file">Nem sikerült megnyitni a tömörített fájlt</string>
<string name="error_when_compressing_media">Hiba a média tömörítésekor: %1$s</string>
<string name="failed_to_upload_media">Feltöltési hiba: %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">A kiszolgáló a feltöltés után nem szolgáltatott webcímet</string>
<string name="could_not_download_from_the_server">Nem sikerült letölteni a kiszolgálóról az oda feltöltött médiát</string>
<string name="could_not_check_downloaded_file">Nem lehetett ellenőrizni a letöltött fájlt a feltöltés után: %1$s</string>
<string name="could_not_prepare_local_file_to_upload">Nem sikerült előkészíteni feltöltésre a helyi fájlt: %1$s</string>
<string name="failed_to_upload_to_server_with_message">Nem sikerült feltölteni a következőre: %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Nem sikerült feltölteni: %1$s</string>
<string name="failed_to_delete_with_message">Nem sikerült törölni: %1$s</string>
<string name="media_too_big_for_nip95">Média túl nagy a NIP-95 számára</string>
<string name="unable_to_load_thumbnail">Nem sikerült betölteni a bélyegképet</string>
<string name="could_not_prepare_header">Nem sikerült előkészíteni a fejlécadatokat: %1$s</string>
<string name="compression_cancelled">Tömörítés visszavonva</string>
<string name="compression_returned_null">A tömörítés nem tudott visszaadni egy fájlt</string>
<string name="media_compression_quality_label">Média minősége</string>
<string name="media_compression_quality_explainer">Válassza az alacsony minőséget a média kisebb, de kevésbé jó minőségű fájlba tömörítéséhez, a magas minőséget a nagyobb, de jobb minőségű fájlba tömörítéshez, vagy a tömörítetlen fájlt a tömörítés nélküli feltöltéshez.</string>
<string name="media_compression_quality_low">Alacsony</string>
@@ -774,15 +609,11 @@
<string name="media_compression_quality_uncompressed">Tömörítetlen</string>
<string name="edit_draft">Piszkozat szerkesztése</string>
<string name="login_with_qr_code">Bejelentkezés QR-kóddal</string>
<string name="route">Útvonal</string>
<string name="route_home">Főoldal</string>
<string name="route_search">Keresés</string>
<string name="route_discover">Felfedezés</string>
<string name="route_messages">Üzenetek</string>
<string name="route_notifications">Értesítések</string>
<string name="route_global">Globális</string>
<string name="route_video">Rövidek</string>
<string name="route_security_filters">Biztonsági szűrők</string>
<string name="new_post">Új bejegyzés</string>
<string name="new_short">Új rövidek: képek vagy videók</string>
<string name="new_community_note">Új közösségi bejegyzés</string>
@@ -797,29 +628,22 @@
<string name="relay_info">%1$s átjátszó</string>
<string name="expand_relay_list">Átjátszólista kibontása</string>
<string name="note_options">Bejegyzés-beállítások</string>
<string name="relay_list_selector">Átjátszólista-választó</string>
<string name="poll">Szavazás</string>
<string name="disable_poll">Szavazás kikapcsolása</string>
<string name="add_bitcoin_invoice">Bitcoin-számla</string>
<string name="cancel_bitcoin_invoice">Bitcoin-számla visszavonása</string>
<string name="cancel_classifieds">Egy tétel eladásának visszavonása</string>
<string name="add_zapraiser">Zap-gyűjtés</string>
<string name="cancel_zapraiser">Zap-gyűjtés visszavonása</string>
<string name="add_location">Helyszín</string>
<string name="remove_location">Helyszín eltávolítása</string>
<string name="add_zap_split">Zap-megosztások</string>
<string name="cancel_zap_split">Zap-megosztások visszavonása</string>
<string name="add_content_warning">Tartalmi figyelmeztetés hozzáadása</string>
<string name="remove_content_warning">Tartalmi figyelmeztetés eltávolítása</string>
<string name="show_npub_as_a_qr_code">Az npub-kulcs megjelenítése QR-kódként</string>
<string name="invalid_nip19_uri">Érvénytelen cím</string>
<string name="invalid_nip19_uri_description">Az Amethyst kapott egy URI-t a megnyitáshoz, de az érvénytelen volt: %1$s</string>
<string name="dm_relays_title">Bejövő átjátszók a privát üzenetekhez</string>
<string name="dm_relays_through">Átjátszók: %1$s</string>
<string name="dm_relays_regular">Általános átjátszók használata</string>
<string name="dm_relays_not_found">Bejövő átjátszók beállítása a privát üzenetekhez</string>
<string name="dm_relays_not_found_description">Ez a beállítás mindenkit tájékoztat arról, hogy Ön melyik átjátszót használja, amikor üzeneteket küldenek Önnek. Ezek nélkül néhány üzenetről lemaradhat.</string>
<string name="dm_relays_not_found_examples">Jó választási lehetőségek:\n - inbox.nostr.wine (fizetős)\n - auth.nostr1.com (ingyenes)\n - you.nostr1.com (személyes átjátszók - fizetős)</string>
<string name="dm_relays_not_found_examples2">Jó választási lehetőségek:\n - auth.nostr1.com (ingyenes)\n - inbox.nostr.wine (fizetős)\n - relay.0xchat.com (ingyenes)</string>
<string name="dm_relays_not_found_editing">Adjon hozzá 1–3 átjátszót, hogy privát postafiókként szolgáljanak. A bejövő privát üzenetek átjátszóinak el kell fogadniuk bármely üzenetet bárkitől, de azok letöltését csak Ön engedélyezheti.</string>
<string name="dm_relays_not_found_create_now">Beállítás most</string>
@@ -828,7 +652,6 @@
<string name="search_relays_not_found_description">A kifejezetten a kereséshez és a felhasználói címkézéshez tervezett átjátszólista létrehozása javítani fogja ezeket az eredményeket.</string>
<string name="search_relays_not_found_editing">Adjon hozzá 1–3 átjátszót a tartalom kereséshez vagy a felhasználók címkézéséhez. Győződjön meg arról, hogy a kiválasztott átjátszók alkalmazzák a NIP-50-et</string>
<string name="search_relays_not_found_examples">Jó választási lehetőségek:\n - nostr.wine\n - relay.nostr.band\n - relay.noswhere.com</string>
<string name="dm_upload">Feltöltés közvetlen üzenetbe</string>
<string name="relay_settings">Átjátszó-beállítások</string>
<string name="public_home_section">Nyilvános kimenő és saját átjátszók</string>
<string name="public_home_section_explainer">Ez az átjátszótípus tárolja az összes tartalmat. Az Amethyst ide küldi az Ön bejegyzéseit, és mások ezeket az átjátszókat fogják használni, hogy megtalálják az Ön tartalmát. Adjon hozzá 1–3 átjátszót. Ezek lehetnek személyes-, fizetett- vagy nyilvános átjátszók.</string>
@@ -838,10 +661,6 @@
<string name="private_inbox_section_explainer">Adjon hozzá 1–3 átjátszót, hogy privát postafiókként szolgáljon. Mások ezeket az átjátszókat használják, hogy Önnek privát üzeneteket küldjenek. A bejövő privát üzenetek átjátszóinak bárkitől el kell fogadniuk minden üzenetet, de azok letöltését csak Ön engedélyezheti. Jó választási lehetőségek:\n - inbox.nostr.wine (fizetős)\n - auth.nostr1.com (ingyenes)\n - you.nostr1.com (személyes átjátszók - fizetős)</string>
<string name="private_outbox_section">Privát saját átjátszók</string>
<string name="private_outbox_section_explainer">Adjon hozzá 1–3 átjátszót, hogy olyan eseményeket tároljanak, amelyeket senki más nem láthat, például a piszkozatait és/vagy az alkalmazásbeállításait. Ideális esetben ezek az átjátszók vagy helyi szintűek, vagy hitelesítést igényelnek az egyes felhasználói tartalmak letöltése előtt.</string>
<string name="kind_3_section">Általános átjátszók</string>
<string name="kind_3_section_description">Az Amethyst ezeket az átjátszókat a bejegyzések letöltésére használja.</string>
<string name="kind_3_recommended_section">Ajánlott átjátszók</string>
<string name="kind_3_recommended_section_description">Adja hozzá a következő átjátszókat az általános átjátszók listájához, hogy megkapja a felsorolt felhasználók hozzászólásait.</string>
<string name="search_section">Keresési átjátszók</string>
<string name="search_section_explainer">A tartalom vagy felhasználók keresésekor használandó átjátszók listája. A címkézés és a keresés nem fog működni, ha nem áll rendelkezésre semmilyen beállítás. Győződjön meg arról, hogy alkalmazzák a NIP-50-et.</string>
<string name="local_section">Helyi átjátszók</string>
@@ -853,11 +672,8 @@
<string name="this_version_brought_to_you_by">Ezt a verziót a következők hozták létre Önnek:</string>
<string name="version_name">%1$s verzió</string>
<string name="thank_you">Köszönöm!</string>
<string name="max_limit">Maximális korlát</string>
<string name="restricted_writes">Korlátozott írások</string>
<string name="forked_from">Elágaztatva innen:</string>
<string name="forked_tag">ELÁGAZTATÁS</string>
<string name="git_repository">Git tároló: %1$s</string>
<string name="git_web_address">Weboldal:</string>
<string name="git_clone_address">Klónozás:</string>
<string name="existed_since">OTS: %1$s</string>
@@ -865,20 +681,13 @@
<string name="ots_info_description">Bizonyíték van arra, hogy ezt a bejegyzést valamikor %1$s előtt írták alá. A bizonyítékot ezen a napon és időpontban bélyegezték a Bitcoin blokkláncába.</string>
<string name="edit_post">Bejegyzés szerkesztése</string>
<string name="proposal_to_edit">Javaslat egy bejegyzés javítására</string>
<string name="message_to_author">Változások összefoglalása</string>
<string name="message_to_author_placeholder">Gyors javítások…</string>
<string name="accept_the_suggestion">Javaslat elfogadása</string>
<string name="enter_picture_in_picture">Videó lejátszása felugró ablakban</string>
<string name="accessibility_download_for_offline">Letöltés</string>
<string name="accessibility_lyrics_on">Feliratozás bekapcsolva</string>
<string name="accessibility_lyrics_off">Feliratozás kikapcsolva</string>
<string name="accessibility_turn_on_sealed_message">Lezárt üzenetek kikapcsolva. Koppintson a lezárt üzenetek bekapcsolásához</string>
<string name="accessibility_turn_off_sealed_message">Lezárt üzenetek bekapcsolva. Koppintson a lezárt üzenetek kikapcsolásához</string>
<string name="accessibility_send">Küldés</string>
<string name="accessibility_play_username">Felhasználónév lejátszása hangként</string>
<string name="accessibility_pushpin">Kapcsolatrögzítő (Pushpin)</string>
<string name="accessibility_scan_qr_code">QR-kód beolvasása</string>
<string name="accessibility_navigate_to_alby">Harmadik féltől származó pénztárca-szolgáltató felkeresése: Alby</string>
<string name="it_s_not_possible_to_reply_to_a_draft_note">A piszkozatokra nem lehet válaszolni</string>
<string name="it_s_not_possible_to_quote_to_a_draft_note">A piszkozatokat nem lehet idézni</string>
<string name="it_s_not_possible_to_react_to_a_draft_note">A piszkozatokra nem lehet reagálni</string>
@@ -919,19 +728,21 @@
<string name="http_status_507">507 – kevés tárhely (WebDAV): A kiszolgáló nem képes a kérést tárolni, mert kevés a tárhely.</string>
<string name="http_status_508">508 – végtelen ismétlés (WebDAV): A kiszolgáló végtelen ciklusban ismétlődő kéréseket érzékelt a feldolgozáskor.</string>
<string name="http_status_511">511 – hálózati azonosítás: A hálózat használata előtt azonosítani kell magunkat, pl. egy Wi-Fi-hálózat használata előtt el kell fogadni a használati feltételeket.</string>
<string name="media_servers_nip96_section">NIP-96-kiszolgálók</string>
<string name="media_servers_nip96_explainer">Annyi kiszolgálót adhat hozzá, amennyit csak akar. Később a kép feltöltésekor kiválaszthatja, melyiket szeretné használni</string>
<string name="media_servers_blossom_section">Blossom-kiszolgálók</string>
<string name="media_servers_blossom_explainer">Annyi kiszolgálót adhat hozzá, amennyit csak akar. Később a kép feltöltésekor kiválaszthatja, melyiket szeretné használni</string>
<string name="add_a_nip96_server">Egy NIP-96-kiszolgáló hozzáadása</string>
<string name="add_a_blossom_server">Egy Blossom-kiszolgáló hozzáadása</string>
<string name="delete_all">Összes törlése</string>
<string name="delete_all_drafts_confirmation">Biztosan törölni szeretné az összes piszkozatot?</string>
<string name="stack">Köteg:</string>
<string name="torrent_file">Torrentfájl</string>
<string name="torrent_download">Letöltés</string>
<string name="torrent_failure">Nem sikerült megnyitni a fájlt</string>
<string name="torrent_no_apps">A fájl megnyitásához és letöltéséhez nincsenek torrent-alkalmazások telepítve.</string>
<string name="select_list_to_filter">Lista kiválasztása a hírfolyam szűréséhez</string>
<string name="temporary_account">Kijelentkeztetés az eszköz zárolása esetén</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">A kedvezményezett lightning-szolgáltatása ennél: %1$s nem érhető el. A(z) „%2$s” lightning-cím lett kiszámítva. Hiba: %3$s. Ellenőrizze, hogy a kiszolgáló működik-e, és hogy a lightning-cím helyes-e</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct_exception">Nem sikerült megoldani a következőt: %1$s. Ellenőrizze, hogy kapcsolódik-e, vagy működik-e a kiszolgáló, és hogy a(z) %2$s lightning-cím helyes-e.\n\nKivéve: %3$s</string>
<string name="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup_with_user">Hiba történt a JSON elemzésekor a(z) %1$s számlahívásából. Ellenőrizze a felhasználó lightning-beállításait</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_the_receiver_s_lightning_wallet_sent_the_following_error_with_user">Nem lehetett lightning-számlát létrehozni. Üzenet a következőtől: %1$s: %2$s</string>
<string name="unable_to_create_a_lightning_invoice_before_sending_the_zap_element_pr_not_found_in_the_resulting_json_with_user">Nem sikerült Lightning-számlát létrehozni a következőből: %1$s: A „PR” elem nem található a kapott JSON-ban.</string>
</resources>
+2 -134
View File
@@ -14,8 +14,6 @@
<string name="explicit_content">Konten Eksplisit</string>
<string name="impersonation">Identitas palsu</string>
<string name="illegal_behavior">Perilaku Ilegal</string>
<string name="unknown">Tidak dikenal</string>
<string name="relay_icon">Ikon Relai</string>
<string name="unknown_author">Penulis Tidak Dikenal</string>
<string name="copy_text">Salin Teks</string>
<string name="copy_user_pubkey">Salin ID Penulis</string>
@@ -26,7 +24,6 @@
<string name="block_hide_user"><![CDATA[Blok & Sembunyikan Pengguna]]></string>
<string name="report_spam_scam">Laporkan Spam / Penipuan</string>
<string name="report_impersonation">Laporkan Pemalsuan Identitas</string>
<string name="report_explicit_content">Laporkan Konten Eksplisit</string>
<string name="report_illegal_behaviour">Laporkan Perilaku Ilegal</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Anda memakai kunci publik dan kunci publik hanya dapat membaca saja. Silahkan login dengan kunci privat agar dapat membalas</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Anda memakai kunci publik dan kunci publik hanya dapat membaca saja. Silahkan login dengan kunci privat agar dapat mengirim postingan</string>
@@ -38,7 +35,6 @@
<string name="login_with_a_private_key_to_be_able_to_hide_word">Anda memakai kunci publik dan kunci publik hanya dapat membaca saja. Silahkan login dengan kunci privat agar dapat menyembunyikan kata atau kalimat</string>
<string name="login_with_a_private_key_to_be_able_to_show_word">Anda memakai kunci publik dan kunci publik hanya dapat membaca saja. Silahkan login dengan kunci privat agar dapat menampilkan kata atau kalimat</string>
<string name="zaps">Zap</string>
<string name="view_count">Lihat jumlah</string>
<string name="boost">Sebarkan</string>
<string name="boosted">disebarkan</string>
<string name="quote">Kutip</string>
@@ -46,9 +42,7 @@
<string name="add">Tambah</string>
<string name="replying_to">"balas ke "</string>
<string name="and">" dan "</string>
<string name="in_channel">"dalam kanal "</string>
<string name="profile_banner">Banner Profil</string>
<string name="payment_successful">Pembayaran berhasil</string>
<string name="error_parsing_error_message">Salah memilah pesan error</string>
<string name="following">" Mengikuti"</string>
<string name="followers">" Pengikut"</string>
@@ -62,9 +56,7 @@
<string name="thank_you_so_much">Terima kasih banyak!</string>
<string name="amount_in_sats">Jumlah (sat)</string>
<string name="send_sats">Kirim sat</string>
<string name="error_parsing_preview_for">"Salah memilah preview untuk %1$s : %2$s"</string>
<string name="preview_card_image_for">"Preview gambar untuk %1$s"</string>
<string name="new_channel">Kanal baru</string>
<string name="channel_name">Nama kanal</string>
<string name="my_awesome_group">Groupku Luar Biasa</string>
<string name="picture_url">Url gambar</string>
@@ -75,34 +67,19 @@
<string name="save">Simpan</string>
<string name="create">Buat</string>
<string name="cancel">Batal</string>
<string name="failed_to_upload_the_image">Gagal mengunggah gambar</string>
<string name="relay_address">Alamat relai</string>
<string name="posts">Postingan</string>
<string name="bytes">Byte</string>
<string name="errors">Kesalahan</string>
<string name="home_feed">Umpan Utama</string>
<string name="private_message_feed">Umpan Pesan Privat</string>
<string name="public_chat_feed">Umpan Percakapan Publik</string>
<string name="global_feed">Umpan Global</string>
<string name="search_feed">Umpan Pencarian</string>
<string name="add_a_relay">Tambah Relay</string>
<string name="display_name">Nama Tampilan</string>
<string name="my_display_name">Nama tampilan saya</string>
<string name="my_username">Username saya</string>
<string name="about_me">Tentang saya</string>
<string name="avatar_url">URL avatar</string>
<string name="banner_url">URL banner</string>
<string name="website_url">URL situs web</string>
<string name="ln_address">Alamat LN</string>
<string name="ln_url_outdated">URL LN (kedaluwarsa)</string>
<string name="image_saved_to_the_gallery">Gambar disimpan ke galeri</string>
<string name="failed_to_save_the_image">Gagal menyimpan gambar</string>
<string name="upload_image">Unggah gambar</string>
<string name="uploading">Mengunggah…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Pengguna belum mengatur alamat lightning untuk menerima sat</string>
<string name="reply_here">"balas disini.. "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Salin ID Note ke papan klip untuk dibagikan dalam Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Salin ID Kanal (Note) ke papan klip</string>
<string name="edits_the_channel_metadata">Ubah metadata kanal</string>
<string name="join">Gabung</string>
<string name="known">Dikenal</string>
@@ -112,16 +89,12 @@
<string name="conversations">Percakapan</string>
<string name="notes">Note</string>
<string name="replies">Balasan</string>
<string name="follows">"Ikuti"</string>
<string name="reports">"Laporan"</string>
<string name="more_options">Opsi Lainnya</string>
<string name="relays">" Relai"</string>
<string name="website">Situs web</string>
<string name="lightning_address">Alamat Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Salin ID Nsec (kata sandi Anda) ke papan klip untuk cadangan</string>
<string name="copy_private_key_to_the_clipboard">Salin Kunci Rahasia ke papan klip</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Salin kunci publik ke papan klip untuk dibagikan</string>
<string name="copy_public_key_npub_to_the_clipboard">Salin Kunci Publik (NPub) ke papan klip</string>
<string name="send_a_direct_message">Kirim Pesan Langsung</string>
<string name="edits_the_user_s_metadata">Ubah metadata pengguna</string>
<string name="follow">Ikuti</string>
@@ -140,7 +113,6 @@
<string name="terms_of_use">ketentuan penggunaan</string>
<string name="acceptance_of_terms_is_required">Persetujuan aturan penggunaan diperlukan</string>
<string name="key_is_required">Kunci diperlukan</string>
<string name="generate_a_new_key">Buat kunci baru</string>
<string name="loading_feed">Memuat umpan</string>
<string name="loading_account">Memuat akun</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
@@ -149,12 +121,6 @@
<string name="try_again">Coba lagi</string>
<string name="feed_is_empty">Umpan kosong.</string>
<string name="refresh">Muat ulang</string>
<string name="created">dibuat</string>
<string name="with_description_of">dengan deskripsi dari</string>
<string name="and_picture">dan gambar</string>
<string name="changed_chat_name_to">ubah nama obrolan ke</string>
<string name="description_to">deskripsi untuk</string>
<string name="and_picture_to">dan gambar untuk</string>
<string name="leave">Keluar</string>
<string name="unfollow">Berhenti mengikuti</string>
<string name="channel_created">Kanal dibuat</string>
@@ -177,7 +143,6 @@
<string name="profanity_hateful_speech">Kata-kata kotor / Ujaran kebencian</string>
<string name="report_hateful_speech">Lapor ujaran kebencian</string>
<string name="report_nudity_porn">Lapor ketelanjangan / pornografi</string>
<string name="others">lainnya</string>
<string name="mark_all_known_as_read">Tandai semua yang dikenal sebagai telah dibaca</string>
<string name="mark_all_new_as_read">Tandai semua yang baru sebagai telah dibaca</string>
<string name="mark_all_as_read">Tandai semua sebagai telah dibaca</string>
@@ -187,23 +152,18 @@
<string name="biometric_authentication_failed">Autentikasi gagal</string>
<string name="biometric_authentication_failed_explainer">Gagal mengautentikasi biometrik pemilik ponsel ini</string>
<string name="biometric_authentication_failed_explainer_with_error">Gagal mengautentikasi biometrik pemilik ponsel ini. Error: %1$s</string>
<string name="biometric_error">Terjadi Kesalahan</string>
<string name="badge_created_by">"Dibuat oleh %1$s"</string>
<string name="badge_award_image_for">"Gambar penghargaan lencana untuk %1$s"</string>
<string name="new_badge_award_notif">Anda menerima penghargaan lencana baru</string>
<string name="award_granted_to">Penghargaan lencana diberikan kepada</string>
<string name="copied_note_text_to_clipboard">Teks disalin ke papan klip</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub pemilik telah disalin ke papan klip</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID note (@note1) telah disalin ke papan klip</string>
<string name="select_text_dialog_top">Pilih teks</string>
<string name="private_conversation_notification">"&lt;Gagal mendekripsi pesan rahasia&gt;\n\n Anda dikutip dalam percakapan pribadi/terenkripsi antara %1$s dan %2$s."</string>
<string name="account_switch_add_account_dialog_title">Tambahkan Akun Baru</string>
<string name="drawer_accounts">Akun</string>
<string name="account_switch_select_account">Pilih akun</string>
<string name="account_switch_add_account_btn">Tambahkan Akun Baru</string>
<string name="account_switch_active_account">Akun Aktif</string>
<string name="account_switch_has_private_key">Memiliki kunci rahasia</string>
<string name="account_switch_pubkey_only">Baca saja. Tidak ada kunci rahasia</string>
<string name="back">Kembali</string>
<string name="quick_action_select">Pilih</string>
<string name="quick_action_share_browser_link">Bagikan Link Browser</string>
@@ -220,7 +180,6 @@
<string name="quick_action_delete_dialog_btn">Hapus</string>
<string name="quick_action_block">Blokir</string>
<string name="quick_action_report">Laporkan</string>
<string name="quick_action_delete_button">Hapus</string>
<string name="quick_action_dont_show_again_button">Jangan tampilkan lagi</string>
<string name="report_dialog_spam">Spam atau penipuan</string>
<string name="report_dialog_profanity">Perilaku tidak senonoh atau penuh kebencian</string>
@@ -245,29 +204,15 @@
<string name="add_to_public_bookmarks">Tambahkan ke Markah Publik</string>
<string name="remove_from_private_bookmarks">Hapus dari Markah Privat</string>
<string name="remove_from_public_bookmarks">Hapus dari Markah Publik</string>
<string name="wallet_connect_service">Layanan Wallet Connect</string>
<string name="wallet_connect_service_explainer">Otorisasi Rahasia Nostr untuk membayar zap tanpa meninggalkan aplikasi. Jaga rahasianya tetap aman dan gunakan relay pribadi jika memungkinkan</string>
<string name="wallet_connect_service_pubkey">Kunci Publik Wallet Connect</string>
<string name="wallet_connect_service_relay">Relay Wallet Collect</string>
<string name="wallet_connect_service_secret">Rahasia Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Tampilkan kunci rahasia</string>
<string name="wallet_connect_service_secret_placeholder">Kunci rahasia nsec / hex</string>
<string name="pledge_amount_in_sats">Jumlah Ikrar dalam Sat</string>
<string name="poll_heading_required">Kolom-kolom wajib:</string>
<string name="poll_zap_recipients">Penerima Zap</string>
<string name="poll_primary_description">Deskripsi poll utama…</string>
<string name="poll_option_index">Opsi %s</string>
<string name="poll_option_description">Deskripsi Opsi Poll</string>
<string name="poll_heading_optional">Kolom opsional:</string>
<string name="poll_zap_value_min">Minimum Zap</string>
<string name="poll_zap_value_max">Maximum Zap</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Tutup setelah</string>
<string name="poll_closing_time_days">hari</string>
<string name="poll_unable_to_vote">Tidak dapat memilih</string>
<string name="poll_is_closed_explainer">Poll ditutup</string>
<string name="poll_zap_amount">Jumlah Zap</string>
<string name="one_vote_per_user_on_atomic_votes">Hanya satu suara per pengguna yang diperbolehkan pada jenis poll ini</string>
<string name="looking_for_event">"Mencari Event %1$s"</string>
<string name="custom_zaps_add_a_message">Tambahkan pesan publik</string>
@@ -294,29 +239,11 @@
<string name="zap_type_anonymous">Anonim</string>
<string name="zap_type_anonymous_explainer">Publik dan Penerima tidak mengetahui siapa yang mengirim pembayaran</string>
<string name="zap_type_nonzap_explainer">Tidak ada jejak di Nostr, hanya di Lightning</string>
<string name="zap_forward_lnAddress">LnAddress atau @Pengguna</string>
<string name="upload_server_relays_nip95">Relay-relay anda (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">File dihosting oleh relay Anda. NIP Baru: periksa apakah relay mendukung</string>
<string name="connect_via_tor_short">Pengaturan Tor/Orbot</string>
<string name="connect_via_tor">Hubung melalui Orbot Anda</string>
<string name="do_you_really_want_to_disable_tor_title">Putuskan sambungan dari Orbot/Tor Anda?</string>
<string name="do_you_really_want_to_disable_tor_text">Data Anda akan ditransfer di jaringan reguler</string>
<string name="yes">Ya</string>
<string name="no">Tidak</string>
<string name="follow_list_selection">Daftar Ikut</string>
<string name="follow_list_kind3follows">Semua Pengikut</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Hubung melalui Tor dengan Orbit
\n\n1. Install [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Mulai Orbot
\n3. Di Orbot, Periksa port Socks. Secara default memakai 9050
\n4. Jika diperlukan, Ganti port di Orbot
\n5. Konfigurasikan port Socks di layar ini
\n6. Tekan tombol Aktivasi untuk menggunakan Orbot sebagai proxy
</string>
<string name="orbot_socks_port">Port Socks Orbot</string>
<string name="invalid_port_number">Nomor port tidak valid</string>
<string name="use_orbot">Pakai Orbot</string>
<string name="disconnect_from_your_orbot_setup">Putuskan koneksi Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Pesan Pribadi</string>
<string name="app_notification_dms_channel_description">Memberi tahu Anda ketika pesan pribadi tiba</string>
<string name="app_notification_zaps_channel_name">Zap Diterima</string>
@@ -325,20 +252,9 @@
<string name="app_notification_zaps_channel_message_for">untuk %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">Memberitahu: </string>
<string name="channel_list_join_conversation">Gabung Percakapan</string>
<string name="channel_list_user_or_group_id">ID Pengguna atau Grup</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent, atau hex</string>
<string name="channel_list_create_channel">Buat</string>
<string name="channel_list_join_channel">Gabung</string>
<string name="today">Hari ini</string>
<string name="content_warning">Peringatan Konten</string>
<string name="content_warning_explanation">Post ini mengandung konten sensitif yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string>
<string name="content_warning_hide_all_sensitive_content">Selalu sembunyikan konten sensitif</string>
<string name="content_warning_show_all_sensitive_content">Selalu tampilkan konten sensitif</string>
<string name="content_warning_see_warnings">Selalu tampilkan peringatan konten</string>
<string name="recommended_apps">Rekomendasi: </string>
<string name="filter_spam_from_strangers">Filter spam dari orang asing</string>
<string name="warn_when_posts_have_reports_from_your_follows">Peringatkan jika postingan memiliki laporan dari orang yang anda ikuti</string>
<string name="new_reaction_symbol">Simbol Reaksi Baru</string>
<string name="no_reaction_type_setup_long_press_to_change">Tidak ada jenis reaksi yang dipilih sebelumnya untuk pengguna ini. Tekan lama tombol hati untuk mengubahnya</string>
<string name="zapraiser">Penggalan dana Zap</string>
@@ -347,31 +263,21 @@
<string name="sats_to_complete">Penggalan Dana di %1$s. Sasaran %2$s sat</string>
<string name="read_from_relay">Baca dari Relay</string>
<string name="write_to_relay">Tulis ke Relay</string>
<string name="an_error_occurred_trying_to_get_relay_information">Terjadi kesalahan saat menerima informasi relay dari %1$s</string>
<string name="owner">Pemilik</string>
<string name="version">Versi</string>
<string name="software">Perangkat Lunak</string>
<string name="contact">Kontak</string>
<string name="supports">NIP yang didukung</string>
<string name="admission_fees">Biaya Pendaftaran</string>
<string name="payments_url">URL Pembayaran</string>
<string name="limitations">Pembatasan</string>
<string name="countries">Negara</string>
<string name="languages">Bahasa</string>
<string name="tags">Tag</string>
<string name="posting_policy">Kebijakan posting</string>
<string name="message_length">Panjang pesan</string>
<string name="subscriptions">Langganan</string>
<string name="filters">Filter</string>
<string name="subscription_id_length">Panjang ID Langganan</string>
<string name="minimum_prefix">Awalan minimal</string>
<string name="maximum_event_tags">Tag Event Maksimum</string>
<string name="content_length">Panjang konten</string>
<string name="minimum_pow">PoW Minimum</string>
<string name="payment">Pembayaran</string>
<string name="cashu">Token Cashu</string>
<string name="no_lightning_address_set">Tidak ada Alamat Lightning yang ditetapkan</string>
<string name="copied_token_to_clipboard">Token disalin ke papan klip</string>
<string name="live_stream_live_tag">LANGSUNG</string>
<string name="live_stream_ended_tag">BERAKHIR</string>
<string name="live_stream_planned_tag">DIJADWALKAN</string>
@@ -393,7 +299,6 @@ Beri tahu kepada pemilik untuk menambahnya</string>
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">Selalu</string>
<string name="connectivity_type_wifi_only">Wifi-saja</string>
<string name="connectivity_type_never">Jangan pernah</string>
<string name="system">Sistem</string>
<string name="light">Terang</string>
@@ -406,7 +311,6 @@ Beri tahu kepada pemilik untuk menambahnya</string>
<string name="automatically_show_url_preview">Pratinjau URL</string>
<string name="automatically_hide_nav_bars">Pengguliran Mendalam</string>
<string name="automatically_hide_nav_bars_description">Sembunyikan Nav Bar saat menggulir</string>
<string name="load_image">Muat Gambar</string>
<string name="spamming_users">Spammer</string>
<string name="muted_button">Dibisukan. Ketuk untuk membunyikan</string>
<string name="mute_button">Suara aktif. Ketuk untuk bisukan</string>
@@ -414,16 +318,9 @@ Beri tahu kepada pemilik untuk menambahnya</string>
<string name="nip05_verified">Alamat nostr telah diverifikasi</string>
<string name="nip05_failed">Verifikasi alamat Nostr gagal</string>
<string name="nip05_checking">Memeriksa alamat Nostr</string>
<string name="select_deselect_all">Pilih/Batal semua</string>
<string name="select_a_relay_to_continue">Pilih relay untuk melanjutkan</string>
<string name="zap_forward_title">Teruskan Zap ke:</string>
<string name="zap_forward_explainer">Klien yang didukung akan mengalihkan zap ke LNAddress atau Profil Pengguna dibawah ini</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="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_nip17_might_not_be_available_title">Fitur Baru</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_nip17_activate">Aktifkan</string>
<string name="messages_create_public_chat">Publik</string>
<string name="messages_new_message">Privat</string>
<string name="messages_new_message_to">Ke</string>
@@ -439,39 +336,23 @@ Beri tahu kepada pemilik untuk menambahnya</string>
<string name="automatically_load_images_gifs_description">Muat gambar dan GIF secara otomatis</string>
<string name="automatically_play_videos_description">Putar video dan GIF secara otomatis</string>
<string name="automatically_show_url_preview_description">Tampilkan Pratinjau URL</string>
<string name="load_image_description">Kapan memuat gambar</string>
<string name="copy_url_to_clipboard">Salin URL ke papan klip</string>
<string name="copy_the_note_id_to_the_clipboard">Salin ID Note ke papan klip</string>
<string name="created_at">Dibuat di</string>
<string name="rules">Peraturan</string>
<string name="login_with_external_signer">Login dengan Amber</string>
<string name="status_update">Perbarui status anda</string>
<string name="lightning_wallets_not_found">Kesalahan penguraian pesan kesalahan</string>
<string name="poll_zap_value_min_max_explainer">Suara ditimbang berdasarkan jumlah zap. Anda dapat menetapkan jumlah minimum untuk menghindari spammer dan jumlah maksimum untuk menghindari zappers besar mengambil alih jajak pendapat. Gunakan jumlah yang sama di kedua kolom untuk memastikan setiap suara bernilai sama. Biarkan kosong untuk menerima jumlah berapa pun.</string>
<string name="error_dialog_zap_error">Tidak dapat mengirim zap</string>
<string name="error_dialog_talk_to_user">Kirim pesan ke Pengguna</string>
<string name="relay_information_document_error_assemble_url">Gagal menghubungi %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Gagal menghubungi %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Gagal menguraikan hasil dari %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s gagal dengan kode %2$s</string>
<string name="active_for">Aktif selama: </string>
<string name="active_for_home">Beranda</string>
<string name="active_for_chats">Obrolan</string>
<string name="active_for_search">Cari</string>
<string name="zap_split_title">Pisah dan alihkan Zap</string>
<string name="zap_split_explainer">Klien yang didukung akan memisah dan mengalihkan zap kepada user yang ditambahkan disini</string>
<string name="zap_split_search_and_add_user">Cari dan Tambahkan Pengguna</string>
<string name="zap_split_search_and_add_user_placeholder">Username atau tampilan nama</string>
<string name="missing_lud16">Lightning tidak tersedia</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">%1$s belum mengatur alamat lightning untuk menerima sat</string>
<string name="zap_split_weight">Persentase</string>
<string name="splitting_zaps_with">Memisahkan Zap dengan</string>
<string name="forwarding_zaps_to">Mengalihkan Zap ke</string>
<string name="lightning_wallets_not_found2">Dompet Lightning tidak ditemukan</string>
<string name="paid">Dibayar</string>
<string name="wallet_number">Dompet: %1$s</string>
<string name="error_opening_external_signer">Terjadi kesalahan saat membuka aplikasi penanda tangan</string>
<string name="sign_request_rejected">Permintaan tanda tangan ditolak</string>
<string name="no_wallet_found_with_error">Tidak ada Dompet yang ditemukan untuk membayar faktur Lightning (Kesalahan: %1$s). Silakan instal dompet Lightning untuk menggunakan zap</string>
<string name="no_wallet_found">Tidak ada Dompet yang ditemukan untuk membayar faktur Lightning. Silakan instal dompet Lightning untuk menggunakan zap</string>
<string name="hidden_words">Kata-kata tersembunyi</string>
@@ -481,31 +362,16 @@ Beri tahu kepada pemilik untuk menambahnya</string>
<string name="select_an_option">Pilih sebuah Opsi</string>
<string name="error_dialog_pay_invoice_error">Tidak dapat membayar faktur</string>
<string name="error_dialog_pay_withdraw_error">Tidak dapat menarik</string>
<string name="error_parsing_nip47_title">Tidak dapat menyiapkan Wallet Connect</string>
<string name="error_parsing_nip47">Gagal menguraikan teks koneksi NIP-47. Periksa apakah ini benar dengan penyedia Wallet Anda: %1$s. Error: %2$s</string>
<string name="error_parsing_nip47_no_error">Gagal menguraikan teks koneksi NIP-47. Periksa apakah ini benar dengan penyedia Wallet Anda: %1$s.</string>
<string name="cashu_failed_redemption">Tidak dapat meredeem Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint memberikan error: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Token Cashu sudah dipakai/habis.</string>
<string name="cashu_successful_redemption">Cashu Diterima</string>
<string name="cashu_successful_redemption_explainer">%1$s sat telah dikirim ke dompetmu. (Biaya: %2$s sat)</string>
<string name="error_unable_to_fetch_invoice">Tidak dapat menghubung server faktur penerima</string>
<string name="wallet_connect_pay_invoice_error_error">Penyedia Wallet Connect anda memberi error: %1$s</string>
<string name="could_not_connect_to_tor">Tidak dapat terhubung ke Tor</string>
<string name="unable_to_download_relay_document">Tidak dapat menerima dokumen relay</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Tidak dapat merakit LNUrl dari Alamat Lightning \"%1$s\". Periksa pengaturan pengguna</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Layanan Lightning penerima di %1$s tidak tersedia. Itu dihitung dari alamat Lightning \"%2$s\". Kesalahan: %3$s. Periksa apakah server aktif dan apakah alamat petir sudah benar</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Tidak dapat menghubungi %1$s. Periksa apakah Anda terhubung, apakah server aktif dan apakah alamat Lightning %2$s sudah benar</string>
<string name="could_not_fetch_invoice_from">Tidak dapat menerima faktur dari %1$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">Tidak dapat mengurai JSON dari alamat Lightning.
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="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>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Jumlah faktur salah (%1$s sat) dari %2$s.
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_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="read_only_user">Pengguna hanya-baca</string>
<string name="no_reactions_setup">Tidak mengatur reaksi</string>
<string name="select_push_server">Pilih aplikasi UnifiedPush</string>
@@ -530,4 +396,6 @@ Seharusnya %3$s</string>
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Layanan Lightning penerima di %1$s tidak tersedia. Itu dihitung dari alamat Lightning \"%2$s\". Kesalahan: %3$s. Periksa apakah server aktif dan apakah alamat petir sudah benar</string>
</resources>
+1 -129
View File
@@ -15,8 +15,6 @@
<string name="spam">Spam</string>
<string name="impersonation">Peniruan/penipuan</string>
<string name="illegal_behavior">Perilaku Ilegal</string>
<string name="unknown">Tidak dikenal</string>
<string name="relay_icon">Ikon Relai</string>
<string name="unknown_author">Penulis Tidak Dikenal</string>
<string name="copy_text">Salin Teks</string>
<string name="copy_user_pubkey">Salin ID Penulis (Author ID)</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[Blokir & Sembunyikan Pengguna]]></string>
<string name="report_spam_scam">Laporkan Spam / Penipuan</string>
<string name="report_impersonation">Laporkan Peniruan</string>
<string name="report_explicit_content">Laporkan Konten Eksplisit</string>
<string name="report_illegal_behaviour">Laporkan Perilaku Ilegal</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Masuk dengan Kunci pribadi (nsec) untuk dapat membalas tulisan</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Masuk dengan Kunci pribadi (nsec) untuk dapat mempromosikan tulisan</string>
@@ -37,7 +34,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">Masuk dengan Kunci pribadi (nsec) untuk dapat mengikuti</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">Masuk dengan Kunci pribadi (nsec) untuk berhenti mengikuti</string>
<string name="zaps">Zaps</string>
<string name="view_count">Jumlah pengamat</string>
<string name="boost">Promosi</string>
<string name="boosted">dipromosikan</string>
<string name="quote">Kutipan</string>
@@ -45,9 +41,7 @@
<string name="add">Tambah</string>
<string name="replying_to">"membalas kepada "</string>
<string name="and">" dan "</string>
<string name="in_channel">dalam kanal</string>
<string name="profile_banner">Spanduk Profil</string>
<string name="payment_successful">Pembayaran Berhasil</string>
<string name="error_parsing_error_message">Gagal menguraikan pesan kesalahan</string>
<string name="following">" Mengikuti"</string>
<string name="followers">" Pengikut"</string>
@@ -62,9 +56,7 @@
<string name="thank_you_so_much">Terima kasih banyak!</string>
<string name="amount_in_sats">Jumlah dalam Sats</string>
<string name="send_sats">Kirim Sats</string>
<string name="error_parsing_preview_for">Gagal menampilkan pratinjau untuk %1$s : %2$s</string>
<string name="preview_card_image_for">Pratinjau Gambar Kartu untuk %1$s</string>
<string name="new_channel">Kanal Baru</string>
<string name="channel_name">Nama Kanal</string>
<string name="my_awesome_group">Grupku yang Hebat</string>
<string name="picture_url">Alamat Url Gambar</string>
@@ -75,35 +67,20 @@
<string name="save">Simpan</string>
<string name="create">Buat</string>
<string name="cancel">Batal</string>
<string name="failed_to_upload_the_image">Gagal mengunggah gambar</string>
<string name="relay_address">Alamat Relai</string>
<string name="posts">Kiriman</string>
<string name="bytes">Bytes</string>
<string name="errors">Errors</string>
<string name="home_feed">Beranda</string>
<string name="private_message_feed">Area Pesan Pribadi</string>
<string name="public_chat_feed">Area Percakapan Publik</string>
<string name="global_feed">Area Global</string>
<string name="search_feed">Area Pencarian</string>
<string name="add_a_relay">Tambah Relai</string>
<string name="display_name">Nama ditampilkan</string>
<string name="my_display_name">Namaku yg ditampilkan</string>
<string name="username">Nama pengguna</string>
<string name="my_username">Nama penggunaku</string>
<string name="about_me">Tentang saya</string>
<string name="avatar_url">URL Avatar</string>
<string name="banner_url">"URL Spanduk/Banner "</string>
<string name="website_url">URL Situs Web</string>
<string name="ln_address">Alamat LN</string>
<string name="ln_url_outdated">LN URL (versi lama)</string>
<string name="image_saved_to_the_gallery">Gambar disimpan ke galeri</string>
<string name="failed_to_save_the_image">Gagal menyimpan gambar</string>
<string name="upload_image">Unggah Gambar</string>
<string name="uploading">Mengunggah…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">Pengguna tidak memiliki alamat lightning (LN) yang diatur untuk menerima sats</string>
<string name="reply_here">"balas di sini.. "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Menyalin ID Catatan ke papan klip untuk dibagikan di Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Salin ID Kanal (Catatan) ke Papan Klip</string>
<string name="edits_the_channel_metadata">Ubah Metadata Kanal</string>
<string name="join">Gabung</string>
<string name="known">Dikenali</string>
@@ -113,16 +90,12 @@
<string name="conversations">Percakapan</string>
<string name="notes">Catatan</string>
<string name="replies">Balasan</string>
<string name="follows">Mengikuti</string>
<string name="reports">Laporan</string>
<string name="more_options">Lebih banyak pilihan</string>
<string name="relays">" Relai"</string>
<string name="website">Situs Web</string>
<string name="lightning_address">Alamat Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Salin Nsec ID (kata sandi anda) ke papan klip sebagai cadangan</string>
<string name="copy_private_key_to_the_clipboard">Salin Kunci Privat ke papan klip</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Salin Kunci Publik ke papan klip untuk dibagikan</string>
<string name="copy_public_key_npub_to_the_clipboard">Salin Kunci Publik (NPub) ke papan klip</string>
<string name="send_a_direct_message">Kirim Pesan Langsung</string>
<string name="edits_the_user_s_metadata">Ubah Metadata Pengguna</string>
<string name="follow">Ikuti</string>
@@ -142,18 +115,11 @@
<string name="acceptance_of_terms_is_required">Penerimaan persyaratan diperlukan</string>
<string name="key_is_required">Kunci diperlukan</string>
<string name="login">Masuk</string>
<string name="generate_a_new_key">Buat kunci baru</string>
<string name="loading_feed">Memuat data umpan</string>
<string name="error_loading_replies">"Gagal memuat balasan: "</string>
<string name="try_again">Coba lagi</string>
<string name="feed_is_empty">Data umpan kosong.</string>
<string name="refresh">Perbarui</string>
<string name="created">dibuat</string>
<string name="with_description_of">"dengan deskripsi "</string>
<string name="and_picture">dan gambar</string>
<string name="changed_chat_name_to">mengubah nama percakapan menjadi</string>
<string name="description_to">deskripsi untuk</string>
<string name="and_picture_to">dan gambar untuk</string>
<string name="leave">Tinggalkan</string>
<string name="unfollow">Berhenti mengikuti</string>
<string name="channel_created">Kanal dibuat</string>
@@ -177,7 +143,6 @@
<string name="profanity_hateful_speech">Ujaran kotor/kebencian</string>
<string name="report_hateful_speech">Laporkan ujaran kebencian</string>
<string name="report_nudity_porn">Laporkan Ketelanjangan / Pornografi</string>
<string name="others">lainnya</string>
<string name="mark_all_known_as_read">Tandai semua yg dikenal telah dibaca</string>
<string name="mark_all_new_as_read">Tandai pesan baru telah dibaca</string>
<string name="mark_all_as_read">Tandai semua telah dibaca</string>
@@ -185,23 +150,18 @@
<string name="secret_key_copied_to_clipboard">Kunci rahasia (nsec) disalin ke clipboard</string>
<string name="copy_my_secret_key">Salin kunci rahasia saya</string>
<string name="biometric_authentication_failed">Autentikasi gagal</string>
<string name="biometric_error">Kesalahan</string>
<string name="badge_created_by">Dibuat oleh %1$s</string>
<string name="badge_award_image_for">Gambar penghargaan lencana untuk %1$s</string>
<string name="new_badge_award_notif">Anda Menerima Penghargaan Lencana baru</string>
<string name="award_granted_to">Penghargaan lencana diberikan kepada</string>
<string name="copied_note_text_to_clipboard">Teks catatan disalin ke papan klip</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub Penulis disalin ke papan klip</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">Note ID (@note1) disalin ke papan klip</string>
<string name="select_text_dialog_top">Pilih Teks</string>
<string name="private_conversation_notification">&lt;Gagal mendeskripsikan pesan pribadi&gt;\n\nAnda dikutip dalam percakapan pribadi/terenkripsi antara %1$s dan %2$s.</string>
<string name="account_switch_add_account_dialog_title">Tambah Akun Baru</string>
<string name="drawer_accounts">Akun</string>
<string name="account_switch_select_account">Pilih Akun</string>
<string name="account_switch_add_account_btn">Tambah Akun Baru</string>
<string name="account_switch_active_account">Akun Aktif</string>
<string name="account_switch_has_private_key">Memiliki kunci pribadi</string>
<string name="account_switch_pubkey_only">Baca saja, tidak ada kunci pribadi</string>
<string name="back">Kembali</string>
<string name="quick_action_select">Pilih</string>
<string name="quick_action_share_browser_link">Bagikan Tauatan ke Peramban</string>
@@ -218,7 +178,6 @@
<string name="quick_action_delete_dialog_btn">Hapus</string>
<string name="quick_action_block">Blokir</string>
<string name="quick_action_report">Laporkan</string>
<string name="quick_action_delete_button">Hapus</string>
<string name="quick_action_dont_show_again_button">Jangan tampilkan lagi</string>
<string name="report_dialog_spam">Spam atau penipuan</string>
<string name="report_dialog_profanity">Perilaku tidak senonoh atau penuh kebencian</string>
@@ -243,28 +202,13 @@
<string name="add_to_public_bookmarks">Tambahkan Penanda Publik</string>
<string name="remove_from_private_bookmarks">Hapus dari Penanda Pribadi</string>
<string name="remove_from_public_bookmarks">Hapus dari Penanda Publik</string>
<string name="wallet_connect_service">Layanan Wallet Connect</string>
<string name="wallet_connect_service_explainer">Mengijinkan Kunci Rahasia Nostr untuk membayar zaps tanpa meninggalkan aplikasi. Jaga kunci tetap aman dan gunakan relai pribadi jika memungkinkan</string>
<string name="wallet_connect_service_pubkey">Kunci Publik Wallet Connect</string>
<string name="wallet_connect_service_relay">Relai Wallet Connect</string>
<string name="wallet_connect_service_secret">Kunci Rahasia Wallet Connect</string>
<string name="wallet_connect_service_show_secret">Tampilkan kunci rahasia</string>
<string name="wallet_connect_service_secret_placeholder">nsec / hex (kunci pribadi)</string>
<string name="pledge_amount_in_sats">Jumlah Dijanjikan dalam Sats</string>
<string name="post_poll">Kirim Pemungutan Suara</string>
<string name="poll_heading_required">Bidang yang wajib diisi:</string>
<string name="poll_zap_recipients">Penerima Zap</string>
<string name="poll_primary_description">Deskripsi Utama Pemungutan Suara…</string>
<string name="poll_option_index">Pilihan %s</string>
<string name="poll_option_description">Deskripsi pilihan pemungutan suara</string>
<string name="poll_heading_optional">Bidang pilihan (tidak wajib):</string>
<string name="poll_zap_value_min">Zap terendah</string>
<string name="poll_zap_value_max">Zap tertinggi</string>
<string name="poll_consensus_threshold">Konsensus</string>
<string name="poll_consensus_threshold_percent">(0–100)%</string>
<string name="poll_closing_time">Berakhir pada</string>
<string name="poll_closing_time_days">hari</string>
<string name="poll_zap_amount">Jumlah Zap</string>
<string name="one_vote_per_user_on_atomic_votes">Hanya satu suara per pengguna yang diperbolehkan pada jenis pemungutan suara ini</string>
<string name="looking_for_event">Mencari data event %1$s</string>
<string name="custom_zaps_add_a_message">Tambah pesan publik</string>
@@ -292,23 +236,12 @@
<string name="zap_type_nonzap">Bukan Zap</string>
<string name="zap_type_nonzap_explainer">Tidak ada jejak di Nostr, hanya di Lightning Network</string>
<string name="file_server">Server Berkas</string>
<string name="zap_forward_lnAddress">Alamat LN atau @Pengguna</string>
<string name="upload_server_relays_nip95">Relai anda (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">Berkas disimpan di relai anda. NIP baru: periksa apakah relai mendukung fitur</string>
<string name="connect_via_tor_short">Pengaturan Tor/Orbot</string>
<string name="connect_via_tor">Hubungkan melalui pengaturan Orbot Anda</string>
<string name="do_you_really_want_to_disable_tor_title">Putuskan sambungan dari Orbot/Tor Anda?</string>
<string name="do_you_really_want_to_disable_tor_text">Data Anda akan segera ditransfer di jaringan reguler (bukan TOR)</string>
<string name="yes">Ya</string>
<string name="no">Tidak</string>
<string name="follow_list_selection">Daftar yang Diikuti</string>
<string name="follow_list_kind3follows">Semua yang diikuti</string>
<string name="follow_list_global">Global</string>
<string name="connect_through_your_orbot_setup_markdown">"\n ## Terhubung melalui Tor menggunakan Orbot\n \n\n1. Pasang [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. Jalankan Orbot\n \n3. Di dalam Orbot, periksa nomor port Socks. Secara bawaan menggunakan nomor 9050\n \n4. Jika diperlukan, ubah nomor port Orbot\n \n5. Atur nomor port Socks pada layar ini\n \n6. Tekan tombol Aktifkan untuk menggunakan Orbot sebagai proxy\n "</string>
<string name="orbot_socks_port">Port Orbot Socks</string>
<string name="invalid_port_number">Nomor port tidak sah</string>
<string name="use_orbot">Gunakan Orbot</string>
<string name="disconnect_from_your_orbot_setup">Putuskan Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Pesan Pribadi</string>
<string name="app_notification_dms_channel_description">Memberi tahu Anda ketika pesan pribadi tiba</string>
<string name="app_notification_zaps_channel_name">Zaps diterima</string>
@@ -317,20 +250,9 @@
<string name="app_notification_zaps_channel_message_from">Dari %1$s</string>
<string name="app_notification_zaps_channel_message_for">untuk %1$s</string>
<string name="reply_notify">"Beritahu: "</string>
<string name="channel_list_join_conversation">Gabung Percakapan</string>
<string name="channel_list_user_or_group_id">ID Pengguna atau Grup</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent atau kode heksa</string>
<string name="channel_list_create_channel">Buat</string>
<string name="channel_list_join_channel">Gabung</string>
<string name="today">Hari ini</string>
<string name="content_warning">Peringatan konten</string>
<string name="content_warning_explanation">Postingan ini berisi konten sensitif yang mungkin dianggap menyinggung atau mengganggu oleh sebagian orang</string>
<string name="content_warning_hide_all_sensitive_content">Selalu sembunyikan konten sensitif</string>
<string name="content_warning_show_all_sensitive_content">Selalu tampilkan konten sensitif</string>
<string name="content_warning_see_warnings">Selalu tampilkan peringatan konten</string>
<string name="recommended_apps">"Rekomendasi: "</string>
<string name="filter_spam_from_strangers">Saring spam dari orang asing (tak diikuti)</string>
<string name="warn_when_posts_have_reports_from_your_follows">Peringatkan ketika kiriman memiliki laporan dari pengikut Anda</string>
<string name="new_reaction_symbol">Simbol Reaksi Baru</string>
<string name="no_reaction_type_setup_long_press_to_change">Tidak ada jenis reaksi yang dipilih. Tekan dan tahan untuk mengubah</string>
<string name="zapraiser">Galang Dana Zap</string>
@@ -339,33 +261,22 @@
<string name="sats_to_complete">Galang Dana Zap mencapai %1$s. %2$s sats untuk memenuhi target</string>
<string name="read_from_relay">Baca dari Relai</string>
<string name="write_to_relay">Tulis ke Relai</string>
<string name="an_error_occurred_trying_to_get_relay_information">Terjadi kesalahan saat mencoba mendapatkan informasi relai %1$s</string>
<string name="owner">Pemilik</string>
<string name="version">Versi</string>
<string name="software">Perangkat Lunak</string>
<string name="contact">Kontak</string>
<string name="supports">NIP yg didukung</string>
<string name="admission_fees">Biaya Pendaftaran</string>
<string name="payments_url">Alamat Pembayaran</string>
<string name="limitations">Batasan</string>
<string name="countries">Negara</string>
<string name="languages">Bahasa</string>
<string name="tags">Tags</string>
<string name="posting_policy">Kebijakan kiriman</string>
<string name="message_length">Panjang pesan</string>
<string name="subscriptions">Langganan</string>
<string name="filters">Penyaringan</string>
<string name="subscription_id_length">Panjang ID Subscription</string>
<string name="minimum_prefix">Awalan minimal</string>
<string name="maximum_event_tags">Jumlah Tags maksimum</string>
<string name="content_length">Panjang konten</string>
<string name="minimum_pow">PoW terendah</string>
<string name="auth">Autentikasi</string>
<string name="payment">Pembayaran</string>
<string name="cashu">Token Cashu</string>
<string name="cashu_redeem">Tukarkan</string>
<string name="no_lightning_address_set">Tidak ada alamat Lightning yang diatur</string>
<string name="copied_token_to_clipboard">Token disalin ke papan klip</string>
<string name="live_stream_live_tag">DARING (ON)</string>
<string name="live_stream_offline_tag">LURING (OFF)</string>
<string name="live_stream_ended_tag">BERAKHIR</string>
@@ -383,7 +294,6 @@
<string name="add_sensitive_content_description">Menambahkan peringatan konten sensitif sebelum menampilkan konten ini</string>
<string name="settings">Pengaturan</string>
<string name="connectivity_type_always">Selalu</string>
<string name="connectivity_type_wifi_only">Hanya Wifi</string>
<string name="connectivity_type_never">Tidak Pernah</string>
<string name="system">Sistem</string>
<string name="light">Terang</string>
@@ -394,7 +304,6 @@
<string name="automatically_load_images_gifs">Pratinjau Gambar</string>
<string name="automatically_play_videos">Pemutaran Video</string>
<string name="automatically_show_url_preview">Pratinjau URL</string>
<string name="load_image">Muat Gambar</string>
<string name="spamming_users">Pengirim Spam</string>
<string name="muted_button">Diredam. Klik untuk bersuara</string>
<string name="mute_button">Bersuara. Kilik untuk meredam</string>
@@ -402,17 +311,10 @@
<string name="nip05_verified">Alamat Nostr diverifikasi</string>
<string name="nip05_failed">Alamat Nostr gagal diverifikasi</string>
<string name="nip05_checking">Memeriksa Alamat Nostr</string>
<string name="select_deselect_all">Pilih / Hapus Semua</string>
<string name="default_relays">Bawaan</string>
<string name="select_a_relay_to_continue">Pilih Relai untuk melanjutkan</string>
<string name="zap_forward_title">Teruskan Zaps ke:</string>
<string name="zap_forward_explainer">Klien yg mendukung akan meneruskan zaps ke Alamat LN atau Profil Pengguna di bawah ini, bukan ke alamat LN Anda</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="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_nip17_might_not_be_available_title">Fitur Baru</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_nip17_activate">Aktifkan</string>
<string name="messages_create_public_chat">Publik</string>
<string name="messages_new_message">Pribadi</string>
<string name="messages_new_message_to">Ke</string>
@@ -427,26 +329,13 @@
<string name="automatically_load_images_gifs_description">Memuat gambar dan GIF secara otomatis</string>
<string name="automatically_play_videos_description">Memutar video dan GIF secara otomatis</string>
<string name="automatically_show_url_preview_description">Tampilkan pratinjau URL</string>
<string name="load_image_description">Kapan memuat gambar</string>
<string name="copy_url_to_clipboard">Salin URL ke papan klip</string>
<string name="copy_the_note_id_to_the_clipboard">Salin ID Catatan ke papan klip</string>
<string name="created_at">Dibuat pada</string>
<string name="rules">Aturan</string>
<string name="status_update">Perbaharui statusmu</string>
<string name="lightning_wallets_not_found">Kesalahan menguraikan pesan kesalahan</string>
<string name="poll_zap_value_min_max_explainer">Suara ditimbang berdasarkan jumlah zap. Anda dapat menetapkan jumlah minimum untuk menghindari pembuat spam dan jumlah maksimum untuk menghindari pengirim zap besar mengambil alih pemungutan suara. Gunakan jumlah yang sama di kedua kolom untuk memastikan setiap suara bernilai sama. Biarkan kosong untuk menerima jumlah berapa pun.</string>
<string name="error_dialog_zap_error">Tidak dapat mengirim zap</string>
<string name="error_dialog_talk_to_user">Kirim Pesan ke Pengguna</string>
<string name="relay_information_document_error_assemble_url">Gagal mengakses %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Gagal mengakses %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Gagal memproses hasil dari %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s gagal dengan kode %2$s</string>
<string name="active_for">Aktif untuk:</string>
<string name="active_for_home">Beranda</string>
<string name="active_for_msg">Pesan Langsung</string>
<string name="active_for_chats">Percakapan</string>
<string name="active_for_global">Global</string>
<string name="active_for_search">Pencarian</string>
<string name="paste_from_clipboard">Tempel dari papan klip</string>
<string name="login_with_external_signer">Masuk dengan Amber</string>
<string name="zap_split_title">Bagi dan Teruskan Zaps</string>
@@ -454,14 +343,9 @@
<string name="zap_split_search_and_add_user">Cari dan Tambah Pengguna</string>
<string name="zap_split_search_and_add_user_placeholder">Nama pengguna atau nama ditampilkan</string>
<string name="user_x_does_not_have_a_lightning_address_setup_to_receive_sats">Pengguna %1$s tidak memiliki alamat lightning yang diatur untuk menerima sats</string>
<string name="zap_split_weight">Persentase</string>
<string name="splitting_zaps_with">Bagikan zaps dengan</string>
<string name="forwarding_zaps_to">Teruskan zaps kepada</string>
<string name="lightning_wallets_not_found2">Dompet Lightning tidak ditemukan</string>
<string name="paid">Dibayar</string>
<string name="wallet_number">Dompet %1$s</string>
<string name="error_opening_external_signer">Kesalahan membuka aplikasi pengesahan</string>
<string name="sign_request_rejected">Permintaan pengesahan ditolak</string>
<string name="no_wallet_found_with_error">Tidak ditemukan Dompet untuk membayar faktur lightning (Kesalahan: %1$s). Silakan instal dompet Lightning untuk menggunakan zaps</string>
<string name="no_wallet_found">Tidak ditemukan Dompet untuk membayar faktur lightning. Silakan instal dompet Lightning untuk menggunakan zaps</string>
<string name="error_dialog_button_ok">Ok</string>
@@ -482,28 +366,16 @@
<string name="select_an_option">Pilih sebuah pilihan</string>
<string name="error_dialog_pay_invoice_error">Tidak dapat membayar tagihan</string>
<string name="error_dialog_pay_withdraw_error">Tidak dapat mengambil dana</string>
<string name="error_parsing_nip47_title">Tidak dapat mengatur Wallet Connect</string>
<string name="error_parsing_nip47">Terjadi kesalahan saat mengurai string koneksi NIP-47. Periksa apakah ini benar dengan penyedia Wallet Anda: %1$s. Kesalahan: %2$s</string>
<string name="error_parsing_nip47_no_error">Terjadi kesalahan saat mengurai string koneksi NIP-47. Periksa apakah ini benar dengan penyedia Wallet Anda: %1$s.</string>
<string name="cashu_failed_redemption">Tidak dapat menukarkan Cashu</string>
<string name="cashu_failed_redemption_explainer_error_msg">Mint memberikan pesan kesalahan berikut: %1$s</string>
<string name="cashu_failed_redemption_explainer_already_spent">Token Cashu sudah habis.</string>
<string name="cashu_successful_redemption">Cashu diterima</string>
<string name="cashu_successful_redemption_explainer">%1$s sat telah dikirim ke dompet Anda. (Biaya: %2$s sat)</string>
<string name="error_unable_to_fetch_invoice">Tidak dapat mengambil faktur dari server penerima</string>
<string name="wallet_connect_pay_invoice_error_error">Penyedia koneksi dompet Anda menampilkan kesalahan berikut: %1$s</string>
<string name="could_not_connect_to_tor">Tidak dapat terhubung ke Tor</string>
<string name="unable_to_download_relay_document">Unduh dokumen relai tidak tersedia</string>
<string name="could_not_assemble_lnurl_from_lightning_address_check_the_user_s_setup">Tidak dapat merakit LNUrl dari Alamat Lightning \"%1$s\". Periksa pengaturan pengguna</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Layanan lightning penerima pada %1$s tidak tersedia. Itu dihitung dari alamat petir \"%2$s\". Kesalahan: %3$s. Periksa apakah server aktif dan apakah alamat lightning sudah benar</string>
<string name="could_not_resolve_check_if_you_are_connected_if_the_server_is_up_and_if_the_lightning_address_is_correct">Tidak dapat menyelesaikan %1$s. Periksa apakah Anda terhubung jaringan, apakah server aktif dan apakah alamat lightning %2$s sudah benar</string>
<string name="could_not_fetch_invoice_from">Tidak dapat mengambil faktur dari %1$s</string>
<string name="error_parsing_json_from_lightning_address_check_the_user_s_lightning_setup">"Kesalahan mengurai JSON dari Alamat Lightning. 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="error_parsing_json_from_lightning_address_s_invoice_fetch_check_the_user_s_lightning_setup">Kesalahan saat Mengurai JSON dari pengambilan faktur Alamat Lightning. Periksa pengaturan lightning pengguna</string>
<string name="incorrect_invoice_amount_sats_from_it_should_have_been">Jumlah faktur salah (%1$s sats) dari %2$s. 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_element_pr_not_found_in_the_resulting_json">Tidak dapat membuat faktur kilat sebelum mengirim zap. Elemen \'pr\' tidak ditemukan di JSON yang dihasilkan.</string>
<string name="read_only_user">Pengguna hanya-baca</string>
<string name="no_reactions_setup">Tidak ada pengaturan reaksi</string>
<string name="the_receiver_s_lightning_service_at_is_not_available_it_was_calculated_from_the_lightning_address_error_check_if_the_server_is_up_and_if_the_lightning_address_is_correct">Layanan lightning penerima pada %1$s tidak tersedia. Itu dihitung dari alamat petir \"%2$s\". Kesalahan: %3$s. Periksa apakah server aktif dan apakah alamat lightning sudah benar</string>
</resources>
+1 -111
View File
@@ -14,8 +14,6 @@
<string name="explicit_content">Contenuto esplicito</string>
<string name="impersonation">Impersonificazione</string>
<string name="illegal_behavior">Comportamento scorretto</string>
<string name="unknown">Sconosciuto</string>
<string name="relay_icon">Icona del relè</string>
<string name="unknown_author">Autore sconosciuto</string>
<string name="copy_text">Copia testo</string>
<string name="copy_user_pubkey">Copia ID dell\'autore</string>
@@ -26,7 +24,6 @@
<string name="block_hide_user"><![CDATA[Blocca e Nascondi Utente]]></string>
<string name="report_spam_scam">Segnala Spam / Truffa</string>
<string name="report_impersonation">Segnala impersonificatore</string>
<string name="report_explicit_content">Segnala contenuto esplicito</string>
<string name="report_illegal_behaviour">Segnala comportamento scorretto</string>
<string name="login_with_a_private_key_to_be_able_to_reply">Accedi con una chiave privata per poter rispondere</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">Accedi con una chiave privata per poter condividere i post</string>
@@ -36,7 +33,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">Accedi con una chiave privata per poter seguire</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">Accedi con una chiave privata per poter smettere di seguire</string>
<string name="zaps">Zap</string>
<string name="view_count">Mostra conteggio</string>
<string name="boost">Condividi</string>
<string name="boosted">condiviso</string>
<string name="quote">Cita</string>
@@ -44,9 +40,7 @@
<string name="add">Aggiungi</string>
<string name="replying_to">"rispondendo a"</string>
<string name="and">" e "</string>
<string name="in_channel">"nel canale "</string>
<string name="profile_banner">Immagine di copertina</string>
<string name="payment_successful">Pagamento effettuato</string>
<string name="error_parsing_error_message">Errore analisi messaggio d\'errore</string>
<string name="following">" Seguiti"</string>
<string name="followers">" Seguaci"</string>
@@ -61,9 +55,7 @@
<string name="thank_you_so_much">Grazie mille!</string>
<string name="amount_in_sats">Importo in Sats</string>
<string name="send_sats">Invia Sats</string>
<string name="error_parsing_preview_for">"Errore nella creazione dell'anteprima di %1$s : %2$s"</string>
<string name="preview_card_image_for">"Anteprima immagine per %1$s"</string>
<string name="new_channel">Nuovo canale</string>
<string name="channel_name">Nome canale</string>
<string name="my_awesome_group">Il mio fantastico gruppo</string>
<string name="picture_url">Url foto</string>
@@ -73,31 +65,19 @@
<string name="save">Salva</string>
<string name="create">Crea</string>
<string name="cancel">Cancella</string>
<string name="failed_to_upload_the_image">Impossibile caricare l\'immagine</string>
<string name="relay_address">Indirizzo Relay</string>
<string name="errors">Errori</string>
<string name="private_message_feed">Lista Messaggi Privati</string>
<string name="public_chat_feed">Lista Chat Pubbliche</string>
<string name="global_feed">Feed Globale</string>
<string name="search_feed">Risultati Ricerca</string>
<string name="add_a_relay">Aggiungi un Relay</string>
<string name="display_name">Nome Visualizzato</string>
<string name="my_display_name">Il mio nome visualizzato</string>
<string name="my_username">Il mio nome utente</string>
<string name="about_me">Su di me</string>
<string name="avatar_url">Immagine del profilo URL</string>
<string name="banner_url">Copertina URL</string>
<string name="website_url">Sito web URL</string>
<string name="ln_address">Indirizzo LN</string>
<string name="ln_url_outdated">LN URL (obsoleto)</string>
<string name="image_saved_to_the_gallery">Immagine salvata nella galleria</string>
<string name="failed_to_save_the_image">Salvataggio dell\'immagine non riuscito</string>
<string name="upload_image">Carica immagine</string>
<string name="uploading">Caricamento…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">L\'utente non dispone di un indirizzo Lightning per ricevere sats</string>
<string name="reply_here">"rispondi qui.. "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">Copia l\'ID della nota negli appunti per la condivisione in Nostr</string>
<string name="copy_channel_id_note_to_the_clipboard">Copia l\'ID del canale (Nota) negli appunti</string>
<string name="edits_the_channel_metadata">Modifica i metadati del canale</string>
<string name="join">Unisciti</string>
<string name="known">Conosciuto</string>
@@ -107,16 +87,12 @@
<string name="conversations">Conversazioni</string>
<string name="notes">Note</string>
<string name="replies">Risposte</string>
<string name="follows">"Seguiti"</string>
<string name="reports">"Segnalazioni"</string>
<string name="more_options">Più Opzioni</string>
<string name="relays">" Relè"</string>
<string name="website">Sito web</string>
<string name="lightning_address">Indirizzo Lightning</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">Copia l\'ID Nsec (la password) negli appunti per il backup</string>
<string name="copy_private_key_to_the_clipboard">Copia la chiave segreta negli appunti</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">Copia la chiave pubblica negli appunti per la condivisione</string>
<string name="copy_public_key_npub_to_the_clipboard">Copia la chiave pubblica (Npub) negli appunti</string>
<string name="send_a_direct_message">Invia un messaggio diretto</string>
<string name="edits_the_user_s_metadata">Modifica i metadati dell\'utente</string>
<string name="follow">Segui</string>
@@ -136,7 +112,6 @@
<string name="acceptance_of_terms_is_required">L\'accettazione dei termini è obbligatoria</string>
<string name="key_is_required">La chiave è obbligatoria</string>
<string name="login">Accesso</string>
<string name="generate_a_new_key">Genera una nuova chiave</string>
<string name="loading_feed">Caricamento del feed</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
<!-- Reply subtitle when every relay genuinely bottomed out (no stalls) and it still wasn't there. -->
@@ -144,12 +119,6 @@
<string name="try_again">Prova di nuovo</string>
<string name="feed_is_empty">Il feed è vuoto.</string>
<string name="refresh">Aggiorna</string>
<string name="created">creato</string>
<string name="with_description_of">con la descrizione di</string>
<string name="and_picture">e l\'immagine</string>
<string name="changed_chat_name_to">modificato il nome della chat in</string>
<string name="description_to">descrizione per</string>
<string name="and_picture_to">e immagine per</string>
<string name="leave">Esci</string>
<string name="unfollow">Non seguire più</string>
<string name="channel_created">Canale creato</string>
@@ -169,7 +138,6 @@
<string name="profanity_hateful_speech">Volgaritá / Linguaggio forte</string>
<string name="report_hateful_speech">Segnala linguaggio forte</string>
<string name="report_nudity_porn">Segnala Nuditá / Pornografia</string>
<string name="others">altri</string>
<string name="mark_all_known_as_read">Segna tutti i conosciuti come letti</string>
<string name="mark_all_new_as_read">Segna tutti i nuovi come letti</string>
<string name="mark_all_as_read">Segna tutti come letti</string>
@@ -177,23 +145,18 @@
<string name="secret_key_copied_to_clipboard">Chiave segreta (nsec) copiata negli appunti</string>
<string name="copy_my_secret_key">Copia la mia chiave segreta</string>
<string name="biometric_authentication_failed">Autenticazione fallita</string>
<string name="biometric_error">Errore</string>
<string name="badge_created_by">"Creato da %1$s"</string>
<string name="badge_award_image_for">"Immagine premio badge per %1$s"</string>
<string name="new_badge_award_notif">Hai ricevuto un nuovo premio Badge</string>
<string name="award_granted_to">Premio badge assegnato a</string>
<string name="copied_note_text_to_clipboard">Testo della nota copiato negli appunti</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npub dell\'autore copiata negli appunti</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">ID della nota copiato (@note1) negli appunti</string>
<string name="select_text_dialog_top">Seleziona testo</string>
<string name="private_conversation_notification">"&lt;Incapace di decriptare il messaggio privato&gt;\n\nSei stato citato in una conversazione privata/criptata tra %1$s e %2$s."</string>
<string name="account_switch_add_account_dialog_title">Aggiungi un nuovo profilo</string>
<string name="drawer_accounts">Profili</string>
<string name="account_switch_select_account">Seleziona profilo</string>
<string name="account_switch_add_account_btn">Aggiungi un nuovo profilo</string>
<string name="account_switch_active_account">Profilo attivo</string>
<string name="account_switch_has_private_key">Ha la chiave privata</string>
<string name="account_switch_pubkey_only">Solo lettura, nessuna chiave privata</string>
<string name="back">Indietro</string>
<string name="quick_action_select">Seleziona</string>
<string name="quick_action_share_browser_link">Condividi Collegamento Browser</string>
@@ -210,7 +173,6 @@
<string name="quick_action_delete_dialog_btn">Elimina</string>
<string name="quick_action_block">Blocca</string>
<string name="quick_action_report">Segnala</string>
<string name="quick_action_delete_button">Elimina</string>
<string name="quick_action_dont_show_again_button">Non mostrare più</string>
<string name="report_dialog_spam">Spam o truffe</string>
<string name="report_dialog_profanity">Blasfemia o comportamento odioso</string>
@@ -235,25 +197,12 @@
<string name="add_to_public_bookmarks">Aggiungi ai segnalibri pubblici</string>
<string name="remove_from_private_bookmarks">Rimuovi dai segnalibri privati</string>
<string name="remove_from_public_bookmarks">Rimuovi dai segnalibri pubblici</string>
<string name="wallet_connect_service">Servizio di Connessione Portafoglio</string>
<string name="wallet_connect_service_explainer">Autorizza un Nostr Secret a pagare gli zaps senza lasciare l\'app. Mantieni il segreto al sicuro e usa un relè privato se possibile</string>
<string name="wallet_connect_service_relay">Wallet Connect Relè</string>
<string name="wallet_connect_service_show_secret">Mostra chiave segreta</string>
<string name="wallet_connect_service_secret_placeholder">nsec / chiave privata esadecimale</string>
<string name="pledge_amount_in_sats">Importo in pegno in sats</string>
<string name="post_poll">Pubblica sondaggio</string>
<string name="poll_heading_required">Campi obbligatori:</string>
<string name="poll_zap_recipients">Destinatari zap</string>
<string name="poll_primary_description">Descrizione principale del sondaggio…</string>
<string name="poll_option_index">Opzione %s</string>
<string name="poll_option_description">Descrizione opzione sondaggio</string>
<string name="poll_heading_optional">Campi facoltativi:</string>
<string name="poll_zap_value_min">Zap minimo</string>
<string name="poll_zap_value_max">Zap massimo</string>
<string name="poll_consensus_threshold">Consenso</string>
<string name="poll_closing_time">Chiudi dopo</string>
<string name="poll_closing_time_days">giorni</string>
<string name="poll_zap_amount">Quantità in zap</string>
<string name="one_vote_per_user_on_atomic_votes">Per questo tipo di sondaggio è consentito solo un voto per utente</string>
<string name="looking_for_event">"Cercando l'evento %1$s"</string>
<string name="custom_zaps_add_a_message">Aggiungi un messaggio pubblico</string>
@@ -279,29 +228,11 @@
<string name="zap_type_anonymous">Anonimo</string>
<string name="zap_type_anonymous_explainer">Il destinatario e il pubblico non sanno chi ha inviato il pagamento</string>
<string name="zap_type_nonzap_explainer">Nessuna traccia in Nostr, solo in Lightning</string>
<string name="zap_forward_lnAddress">Indirizzo LN o @User</string>
<string name="upload_server_relays_nip95">I tuoi relè (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">I file sono ospitati dai tuoi relè. Nuovo NIP: controlla se lo supportano</string>
<string name="connect_via_tor_short">Configurazione Tor/Orbot</string>
<string name="connect_via_tor">Connettiti tramite la tua configurazione di Orbot</string>
<string name="do_you_really_want_to_disable_tor_title">Disconnettere dal tuo Orbot/Tor?</string>
<string name="do_you_really_want_to_disable_tor_text">I tuoi dati verranno immediatamente trasferiti nella rete regolare</string>
<string name="yes">Sì</string>
<string name="follow_list_selection">Segui Lista</string>
<string name="follow_list_kind3follows">Tutti i seguiti</string>
<string name="follow_list_global">Globale</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Connettiti tramite Tor con Orbot
\n\n1. Installa [Orbot](https://play.google. om/store/apps/details?id=org.torproject.android)
\n2. Avvia Orbot
\n3. In Orbot, controlla la porta Socks. Il valore predefinito utilizza 9050
\n4. Se necessario, cambiare la porta in Orbot
\n5. Configura la porta Socks in questa schermata
\n6. Premi il pulsante Attiva per usare Orbot come proxy
</string>
<string name="orbot_socks_port">Porta Socks di Orbot</string>
<string name="invalid_port_number">Numero della porta non valido</string>
<string name="use_orbot">Usa Orbot</string>
<string name="disconnect_from_your_orbot_setup">Disconnetti Tor/Orbot</string>
<string name="app_notification_dms_channel_name">Messaggi privati</string>
<string name="app_notification_dms_channel_description">Notifica quando arriva un messaggio privato</string>
<string name="app_notification_zaps_channel_name">Zaps Ricevuti</string>
@@ -310,20 +241,9 @@
<string name="app_notification_zaps_channel_message_for">per %1$s</string>
<!-- Call notifications and UI -->
<string name="reply_notify">Notificare: </string>
<string name="channel_list_join_conversation">Unisciti Alla Conversazione</string>
<string name="channel_list_user_or_group_id">ID utente o di gruppo</string>
<string name="channel_list_user_or_group_id_demo">npub, nevent o esadecimale</string>
<string name="channel_list_create_channel">Crea</string>
<string name="channel_list_join_channel">Unisciti</string>
<string name="today">Oggi</string>
<string name="content_warning">Avviso sui contenuti</string>
<string name="content_warning_explanation">Questo post contiene contenuti sensibili che alcune persone possono trovare offensivi o disturbanti</string>
<string name="content_warning_hide_all_sensitive_content">Nascondi sempre i contenuti sensibili</string>
<string name="content_warning_show_all_sensitive_content">Mostra sempre i contenuti sensibili</string>
<string name="content_warning_see_warnings">Mostra sempre gli avvisi sui contenuti</string>
<string name="recommended_apps">Consigliati: </string>
<string name="filter_spam_from_strangers">Filtra spam dagli sconosciuti</string>
<string name="warn_when_posts_have_reports_from_your_follows">Avvisa quando i post hanno segnalazioni da parte di chi segui</string>
<string name="new_reaction_symbol">Nuovo Simbolo Di Reazione</string>
<string name="no_reaction_type_setup_long_press_to_change">Nessun tipo di reazione selezionato. Premi a lungo per cambiare</string>
<string name="zapraiser_explainer">Aggiunge una quantità di sats da raccogliere per questo post. I client che supportano questa funzione la mostreranno con una barra di avanzamento per incentivare le donazioni</string>
@@ -331,30 +251,21 @@
<string name="sats_to_complete">Zapraiser a %1$s. %2$s sats all\'obiettivo</string>
<string name="read_from_relay">Leggi dal Relè</string>
<string name="write_to_relay">Scrivi su Relè</string>
<string name="an_error_occurred_trying_to_get_relay_information">Si è verificato un errore nel tentativo di ottenere le informazioni del relè da %1$s</string>
<string name="owner">Proprietario</string>
<string name="version">Versione</string>
<string name="contact">Contatto</string>
<string name="supports">NIPs Supportati</string>
<string name="admission_fees">Commissioni di Ammissione</string>
<string name="payments_url">Url pagamenti</string>
<string name="limitations">Limitazioni</string>
<string name="countries">Paesi</string>
<string name="languages">Lingue</string>
<string name="posting_policy">Politica di pubblicazione</string>
<string name="message_length">Lunghezza del messaggio</string>
<string name="subscriptions">Iscrizioni</string>
<string name="filters">Filtri</string>
<string name="subscription_id_length">Lunghezza ID Iscrizione</string>
<string name="minimum_prefix">Prefisso minimo</string>
<string name="maximum_event_tags">Tags massimi dell\'evento</string>
<string name="content_length">Lunghezza del contenuto</string>
<string name="minimum_pow">PoW Minima</string>
<string name="payment">Pagamento</string>
<string name="cashu">Token di Cashu</string>
<string name="cashu_redeem">Riscatta</string>
<string name="no_lightning_address_set">Nessun indirizzo Lightning impostato</string>
<string name="copied_token_to_clipboard">Token copiato negli appunti</string>
<string name="live_stream_live_tag">IN DIRETTA</string>
<string name="live_stream_offline_tag">NON IN LINEA</string>
<string name="live_stream_ended_tag">CONCLUSO</string>
@@ -376,7 +287,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">Sempre</string>
<string name="connectivity_type_wifi_only">Solo Wi-Fi</string>
<string name="connectivity_type_never">Mai</string>
<string name="system">Sistema</string>
<string name="light">Chiaro</string>
@@ -387,24 +297,16 @@
<string name="automatically_load_images_gifs">Anteprima dell\'immagine</string>
<string name="automatically_play_videos">Riproduzione video</string>
<string name="automatically_show_url_preview">Anteprima URL</string>
<string name="load_image">Carica immagine</string>
<string name="muted_button">Mutato. Clicca per riattivare l\'audio</string>
<string name="mute_button">Audio acceso. Clicca per disattivarlo</string>
<string name="search_button">Cerca registrazioni locali e remote</string>
<string name="nip05_verified">L\'indirizzo Nostr è stato verificato</string>
<string name="nip05_failed">Verifica dell\'indirizzo Nostr non riuscita</string>
<string name="nip05_checking">Controllo dell\'indirizzo Nostr</string>
<string name="select_deselect_all">Seleziona/Deseleziona tutto</string>
<string name="default_relays">Predefinito</string>
<string name="select_a_relay_to_continue">Seleziona un relè per continuare</string>
<string name="zap_forward_title">Inoltra gli Zap a:</string>
<string name="zap_forward_explainer">I client che lo supportano inoltreranno gli Zap all\'indirizzo LN o al profilo dell\'utente di seguito anzichè al tuo</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="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_nip17_might_not_be_available_title">Nuova Funzionalità</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_nip17_activate">Attivare</string>
<string name="messages_create_public_chat">Pubblico/a</string>
<string name="messages_new_message">Privato</string>
<string name="messages_new_message_to">A</string>
@@ -419,26 +321,13 @@
<string name="automatically_load_images_gifs_description">Carica automaticamente immagini e GIF</string>
<string name="automatically_play_videos_description">Riproduce automaticamente video e GIF</string>
<string name="automatically_show_url_preview_description">Mostra anteprime URL</string>
<string name="load_image_description">Quando caricare le immagini</string>
<string name="copy_url_to_clipboard">Copia URL negli appunti</string>
<string name="copy_the_note_id_to_the_clipboard">Copia ID della Nota negli appunti</string>
<string name="created_at">Creato il</string>
<string name="rules">Regole</string>
<string name="status_update">Aggiorna il tuo stato</string>
<string name="lightning_wallets_not_found">Errore analisi messaggio d\'errore</string>
<string name="poll_zap_value_min_max_explainer">I voti sono ponderati con l\'importo dello zap. È possibile impostare una quantità minima per evitare gli spammer e una quantità massima per evitare che un grande zapper predomini il sondaggio. Usa lo stesso importo in entrambi i campi per assicurarti che ogni voto valga lo stesso importo. Lascialo vuoto per accettare qualsiasi importo.</string>
<string name="error_dialog_zap_error">Impossibile inviare lo zap</string>
<string name="error_dialog_talk_to_user">Invia un messaggio all\'utente</string>
<string name="relay_information_document_error_assemble_url">Impossibile raggiungere %1$s: %2$s</string>
<string name="relay_information_document_error_reach_server">Impossibile raggiungere %1$s: %2$s</string>
<string name="relay_information_document_error_parse_result">Impossibile analizzare il risultato da %1$s: %2$s</string>
<string name="relay_information_document_error_http_status">%1$s fallito con il codice %2$s</string>
<string name="active_for">Attivo per: </string>
<string name="active_for_home">Pagina iniziale</string>
<string name="active_for_msg">Messaggi diretti</string>
<string name="active_for_chats">Chat</string>
<string name="active_for_global">Globale</string>
<string name="active_for_search">Cerca</string>
<!-- Onchain zap send dialog -->
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<!-- Kind display names for relay subscription filter chips -->
@@ -451,4 +340,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -15,8 +15,6 @@
<string name="spam">スパム</string>
<string name="impersonation">なりすまし</string>
<string name="illegal_behavior">不法行為</string>
<string name="unknown">不明</string>
<string name="relay_icon">リレーアイコン</string>
<string name="unknown_author">不明な作者</string>
<string name="copy_text">テキストをコピー</string>
<string name="copy_user_pubkey">ユーザIDをコピー</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[ユーザをブロックして非表示]]></string>
<string name="report_spam_scam">スパム / 詐欺を通報</string>
<string name="report_impersonation">なりすましを通報</string>
<string name="report_explicit_content">露骨なコンテンツを通報</string>
<string name="report_illegal_behaviour">不法行為を通報</string>
<string name="login_with_a_private_key_to_be_able_to_reply">秘密鍵でログインするとリプライできます</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">秘密鍵でログインすると投稿をブーストできます</string>
@@ -37,7 +34,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">秘密鍵でログインするとフォローすることができます</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">秘密鍵でログインするとフォロー解除することができます</string>
<string name="zaps">ザップ</string>
<string name="view_count">表示回数</string>
<string name="boost">ブースト</string>
<string name="boosted">ブーストされました</string>
<string name="quote">引用</string>
@@ -58,9 +54,7 @@
<string name="thank_you_so_much">ありがとうございます!</string>
<string name="amount_in_sats">金額 (sats)</string>
<string name="send_sats">satsを送る</string>
<string name="error_parsing_preview_for">"%1$sのプレビューのパースに失敗しました: %2$s"</string>
<string name="preview_card_image_for">"%1$sのプレビューカード画像"</string>
<string name="new_channel">新しいチャンネル</string>
<string name="channel_name">チャンネル名</string>
<string name="my_awesome_group">私の素晴らしいグループ</string>
<string name="picture_url">画像URL</string>
@@ -71,35 +65,20 @@
<string name="save">保存</string>
<string name="create">作成</string>
<string name="cancel">キャンセル</string>
<string name="failed_to_upload_the_image">画像のアップロードに失敗しました</string>
<string name="relay_address">リレーアドレス</string>
<string name="posts">投稿</string>
<string name="bytes">バイト</string>
<string name="errors">エラー</string>
<string name="home_feed">ホームフィード</string>
<string name="private_message_feed">非公開メッセージフィード</string>
<string name="public_chat_feed">公開チャットフィード</string>
<string name="global_feed">グローバルフィード</string>
<string name="search_feed">検索フィード</string>
<string name="add_a_relay">リレーを追加</string>
<string name="display_name">表示名</string>
<string name="my_display_name">わたしの表示名</string>
<string name="username">ユーザ名</string>
<string name="my_username">わたしのユーザ名</string>
<string name="about_me">自己紹介</string>
<string name="avatar_url">アバターURL</string>
<string name="banner_url">バナーURL</string>
<string name="website_url">ウェブサイトURL</string>
<string name="ln_address">LNアドレス</string>
<string name="ln_url_outdated">LN URL (旧式)</string>
<string name="image_saved_to_the_gallery">画像を保存しました</string>
<string name="failed_to_save_the_image">画像の保存に失敗しました</string>
<string name="upload_image">画像をアップロード</string>
<string name="uploading">アップロード中…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">satsを受け取るためのLightningアドレスが設定されていません</string>
<string name="reply_here">"ここに返信… "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">投稿IDをクリップボードにコピー</string>
<string name="copy_channel_id_note_to_the_clipboard">チャンネルIDをクリップボードにコピー</string>
<string name="edits_the_channel_metadata">チャンネルのメタデータを編集</string>
<string name="join">参加</string>
<string name="known">知り合い</string>
@@ -109,16 +88,12 @@
<string name="conversations">会話</string>
<string name="notes">投稿</string>
<string name="replies">リプライ</string>
<string name="follows">"フォロー"</string>
<string name="reports">"通報"</string>
<string name="more_options">詳細なオプション</string>
<string name="relays">" リレー"</string>
<string name="website">ウェブサイト</string>
<string name="lightning_address">Lightningアドレス</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">バックアップ用に nsec ID (パスワード) をクリップボードにコピー</string>
<string name="copy_private_key_to_the_clipboard">クリップボードに秘密鍵をコピー</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">公開鍵をクリップボードにコピー</string>
<string name="copy_public_key_npub_to_the_clipboard">公開鍵 (NPub) をクリップボードにコピー</string>
<string name="send_a_direct_message">ダイレクトメッセージを送信</string>
<string name="edits_the_user_s_metadata">ユーザのメタデータを編集</string>
<string name="follow">フォロー</string>
@@ -138,7 +113,6 @@
<string name="acceptance_of_terms_is_required">利用規約の同意が必要です</string>
<string name="key_is_required">鍵が必要です</string>
<string name="login">ログイン</string>
<string name="generate_a_new_key">新しい鍵を生成</string>
<string name="loading_feed">フィードを読み込み中</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
<!-- Reply subtitle when every relay genuinely bottomed out (no stalls) and it still wasn't there. -->
@@ -146,12 +120,6 @@
<string name="try_again">後ほどお試しください</string>
<string name="feed_is_empty">フィードが空です</string>
<string name="refresh">更新</string>
<string name="created">が作成しました:</string>
<string name="with_description_of">説明:</string>
<string name="and_picture">画像:</string>
<string name="changed_chat_name_to">がチャンネル情報を変更しました:</string>
<string name="description_to">説明:</string>
<string name="and_picture_to">画像:</string>
<string name="leave">退出</string>
<string name="unfollow">フォロー解除</string>
<string name="channel_created">チャンネルが作成されました</string>
@@ -174,7 +142,6 @@
<string name="profanity_hateful_speech">誹謗中傷 / ヘイトスピーチ</string>
<string name="report_hateful_speech">ヘイトスピーチを通報</string>
<string name="report_nudity_porn">ヌード / ポルノを通報</string>
<string name="others">その他</string>
<string name="mark_all_known_as_read">すべての「知り合い」を既読にする</string>
<string name="mark_all_new_as_read">すべての「新規リクエスト」を既読にする</string>
<string name="mark_all_as_read">すべて既読にする</string>
@@ -182,23 +149,18 @@
<string name="secret_key_copied_to_clipboard">秘密鍵 (nsec) をクリップボードにコピーしました</string>
<string name="copy_my_secret_key">秘密鍵をコピー</string>
<string name="biometric_authentication_failed">認証に失敗しました</string>
<string name="biometric_error">エラー</string>
<string name="badge_created_by">"%1$s によって作成"</string>
<string name="badge_award_image_for">"%1$sのバッジ授与画像"</string>
<string name="new_badge_award_notif">新しいバッジが授与されました</string>
<string name="award_granted_to">バッジ授与が承認されました:</string>
<string name="copied_note_text_to_clipboard">テキストがクリップボードにコピーされました</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npubをクリップボードにコピーしました</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">投稿ID (@note1) をクリップボードにコピーしました</string>
<string name="select_text_dialog_top">テキストを選択</string>
<string name="private_conversation_notification">"&lt;プライベートメッセージの復号に失敗しました&gt;\n\n%1$s と %2$s のプライベート/暗号化された会話であなたが言及されました。"</string>
<string name="account_switch_add_account_dialog_title">アカウントを追加</string>
<string name="drawer_accounts">アカウント</string>
<string name="account_switch_select_account">アカウントを選択</string>
<string name="account_switch_add_account_btn">新規アカウントを追加</string>
<string name="account_switch_active_account">アクティブアカウント</string>
<string name="account_switch_has_private_key">秘密鍵あり</string>
<string name="account_switch_pubkey_only">読み取り専用、秘密鍵なし</string>
<string name="back">戻る</string>
<string name="quick_action_select">選択</string>
<string name="quick_action_share_browser_link">ブラウザリンクを共有</string>
@@ -215,7 +177,6 @@
<string name="quick_action_delete_dialog_btn">削除</string>
<string name="quick_action_block">ブロック</string>
<string name="quick_action_report">通報</string>
<string name="quick_action_delete_button">削除</string>
<string name="quick_action_dont_show_again_button">再度表示しない</string>
<string name="report_dialog_spam">スパムまたは詐欺</string>
<string name="report_dialog_profanity">誹謗中傷またはヘイトスピーチ</string>
@@ -240,27 +201,12 @@
<string name="add_to_public_bookmarks">公開ブックマークに追加</string>
<string name="remove_from_private_bookmarks">非公開ブックマークから削除</string>
<string name="remove_from_public_bookmarks">公開ブックマークから削除</string>
<string name="wallet_connect_service">Wallet Connectサービス</string>
<string name="wallet_connect_service_explainer">アプリから離脱することなくザップするためにNostrシークレットを設定できます。シークレットは安全に保管し、可能であればプライベートリレーを使用してください</string>
<string name="wallet_connect_service_pubkey">Wallet Connectの公開鍵</string>
<string name="wallet_connect_service_relay">Wallet Connectのリレー</string>
<string name="wallet_connect_service_secret">Wallet Connectの秘密鍵</string>
<string name="wallet_connect_service_show_secret">秘密鍵を表示</string>
<string name="wallet_connect_service_secret_placeholder">nsec または hex 形式の秘密鍵</string>
<string name="pledge_amount_in_sats">誓約額 (sats)</string>
<string name="post_poll">投票を送信</string>
<string name="poll_heading_required">必須のフィールド:</string>
<string name="poll_zap_recipients">ザップ受取人</string>
<string name="poll_primary_description">投票の説明…</string>
<string name="poll_option_index">選択肢%s</string>
<string name="poll_option_description">投票の選択肢の説明</string>
<string name="poll_heading_optional">任意のフィールド:</string>
<string name="poll_zap_value_min">最小ザップ額</string>
<string name="poll_zap_value_max">最大ザップ額</string>
<string name="poll_consensus_threshold">コンセンサス</string>
<string name="poll_closing_time">終了まで</string>
<string name="poll_closing_time_days">日</string>
<string name="poll_zap_amount">ザップ額</string>
<string name="one_vote_per_user_on_atomic_votes">このタイプの投票では、1ユーザにつき1回のみ投票可能です</string>
<string name="looking_for_event">"イベント %1$s を探しています"</string>
<string name="custom_zaps_add_a_message">公開メッセージを追加</string>
@@ -288,30 +234,12 @@
<string name="zap_type_nonzap">非ザップ</string>
<string name="zap_type_nonzap_explainer">Nostrを経由せずにLightning支払いを行います</string>
<string name="file_server">ファイルサーバ</string>
<string name="zap_forward_lnAddress">LNアドレス または @ユーザ名</string>
<string name="upload_server_relays_nip95">あなたのリレー (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">ファイルはあなたのリレーによってホストされます。新規NIP: リレーがサポートしているか確認してください</string>
<string name="connect_via_tor_short">Tor/Orbotを設定</string>
<string name="connect_via_tor">Orbotの設定を通して接続</string>
<string name="do_you_really_want_to_disable_tor_title">Orbot/Torから切断しますか?</string>
<string name="do_you_really_want_to_disable_tor_text">データはすぐに通常のネットワークで送信されます</string>
<string name="yes">はい</string>
<string name="no">いいえ</string>
<string name="follow_list_selection">フォローリスト</string>
<string name="follow_list_kind3follows">すべてのフォロー</string>
<string name="follow_list_global">グローバル</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Orbotを利用してTor経由で接続する
\n\n1. [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)をインストール
\n2. Orbotを立ち上げる
\n3. OrbotでSocksポート番号を確認する。デフォルトは9050
\n4. 必要に応じてOrbotでポート番号を変更する
\n5. この画面でSocksポート番号を設定する
\n6. アクティベートボタンを押して、Orbotをプロキシとして使用する
</string>
<string name="orbot_socks_port">OrbotのSocksポート番号</string>
<string name="invalid_port_number">無効なポート番号</string>
<string name="use_orbot">Orbotを使用</string>
<string name="disconnect_from_your_orbot_setup">Tor/Orbotを切断</string>
<string name="app_notification_dms_channel_name">プライベートメッセージ</string>
<string name="app_notification_dms_channel_description">プライベートメッセージが届いたら通知する</string>
<string name="app_notification_zaps_channel_name">ザップを受け取りました</string>
@@ -320,20 +248,9 @@
<string name="app_notification_zaps_channel_message_for">%1$sに</string>
<!-- Call notifications and UI -->
<string name="reply_notify">通知: </string>
<string name="channel_list_join_conversation">会話に参加</string>
<string name="channel_list_user_or_group_id">ユーザIDまたはグループID</string>
<string name="channel_list_user_or_group_id_demo">npub、nevent または hex</string>
<string name="channel_list_create_channel">作成</string>
<string name="channel_list_join_channel">参加</string>
<string name="today">今日</string>
<string name="content_warning">コンテンツ警告</string>
<string name="content_warning_explanation">この投稿には、一部の人々が不快や不穏に感じる可能性のあるセンシティブな内容が含まれています</string>
<string name="content_warning_hide_all_sensitive_content">センシティブなコンテンツを常に非表示</string>
<string name="content_warning_show_all_sensitive_content">センシティブなコンテンツを常に表示</string>
<string name="content_warning_see_warnings">コンテンツ警告を常に表示</string>
<string name="recommended_apps">推奨: </string>
<string name="filter_spam_from_strangers">見知らぬユーザからのスパムをフィルタリングする</string>
<string name="warn_when_posts_have_reports_from_your_follows">あなたがフォローしている人に通報された投稿を警告する</string>
<string name="new_reaction_symbol">新しいリアクションシンボル</string>
<string name="no_reaction_type_setup_long_press_to_change">リアクションタイプが選択されていません。長押しして変更</string>
<string name="zapraiser_explainer">この投稿の目標募金額を追加します。サポートするクライアントは、寄付を促すためにこれをプログレスバーとして表示することができます</string>
@@ -345,23 +262,14 @@
<string name="software">ソフトウェア</string>
<string name="contact">連絡先</string>
<string name="supports">サポートしているNIP</string>
<string name="admission_fees">利用料</string>
<string name="payments_url">決済URL</string>
<string name="limitations">制限</string>
<string name="countries">国</string>
<string name="languages">言語</string>
<string name="tags">タグ</string>
<string name="posting_policy">投稿ポリシー</string>
<string name="message_length">メッセージ長</string>
<string name="subscriptions">サブスクリプション</string>
<string name="filters">フィルタ</string>
<string name="subscription_id_length">サブスクリプションID長</string>
<string name="minimum_prefix">最小プレフィックス</string>
<string name="maximum_event_tags">最大タグ数</string>
<string name="content_length">コンテンツ長</string>
<string name="minimum_pow">最小PoW</string>
<string name="auth">認証</string>
<string name="payment">決済</string>
<string name="cashu">Cashuトークン</string>
<string name="cashu_redeem">償還</string>
<string name="live_stream_live_tag">ライブ</string>
@@ -385,7 +293,6 @@
(translated) row titles. Marked translatable="false" so protocol terms (blossom, nsec,
negentropy, …) stay searchable in every locale and aren't sent to translators. -->
<string name="connectivity_type_always">常に</string>
<string name="connectivity_type_wifi_only">Wifiのみ</string>
<string name="system">システム</string>
<string name="light">ライト</string>
<string name="dark">ダーク</string>
@@ -395,7 +302,6 @@
<string name="automatically_load_images_gifs">自動的に画像/GIFを読み込み</string>
<string name="automatically_play_videos">自動的に動画を再生</string>
<string name="automatically_show_url_preview">自動的にURLプレビューを表示</string>
<string name="load_image">画像読み込み</string>
<!-- Onchain zap send dialog -->
<!-- %1$s is replaced at runtime by an inline star icon, not text. Keep the placeholder. -->
<!-- Kind display names for relay subscription filter chips -->
@@ -408,4 +314,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -15,8 +15,6 @@
<string name="spam">スパム</string>
<string name="impersonation">なりすまし</string>
<string name="illegal_behavior">不法行為</string>
<string name="unknown">不明</string>
<string name="relay_icon">リレーアイコン</string>
<string name="unknown_author">不明な作者</string>
<string name="copy_text">テキストをコピー</string>
<string name="copy_user_pubkey">ユーザIDをコピー</string>
@@ -27,7 +25,6 @@
<string name="block_hide_user"><![CDATA[ユーザをブロックして非表示]]></string>
<string name="report_spam_scam">スパム / 詐欺を通報</string>
<string name="report_impersonation">なりすましを通報</string>
<string name="report_explicit_content">露骨なコンテンツを通報</string>
<string name="report_illegal_behaviour">不法行為を通報</string>
<string name="login_with_a_private_key_to_be_able_to_reply">秘密鍵でログインするとリプライできます</string>
<string name="login_with_a_private_key_to_be_able_to_boost_posts">秘密鍵でログインすると投稿をブーストできます</string>
@@ -37,7 +34,6 @@
<string name="login_with_a_private_key_to_be_able_to_follow">秘密鍵でログインするとフォローすることができます</string>
<string name="login_with_a_private_key_to_be_able_to_unfollow">秘密鍵でログインするとフォロー解除することができます</string>
<string name="zaps">ザップ</string>
<string name="view_count">表示回数</string>
<string name="boost">ブースト</string>
<string name="boosted">ブーストされました</string>
<string name="quote">引用</string>
@@ -58,9 +54,7 @@
<string name="thank_you_so_much">ありがとうございます!</string>
<string name="amount_in_sats">金額 (sats)</string>
<string name="send_sats">satsを送る</string>
<string name="error_parsing_preview_for">"%1$sのプレビューのパースに失敗しました: %2$s"</string>
<string name="preview_card_image_for">"%1$sのプレビューカード画像"</string>
<string name="new_channel">新しいチャンネル</string>
<string name="channel_name">チャンネル名</string>
<string name="my_awesome_group">私の素晴らしいグループ</string>
<string name="picture_url">画像URL</string>
@@ -71,35 +65,20 @@
<string name="save">保存</string>
<string name="create">作成</string>
<string name="cancel">キャンセル</string>
<string name="failed_to_upload_the_image">画像のアップロードに失敗しました</string>
<string name="relay_address">リレーアドレス</string>
<string name="posts">投稿</string>
<string name="bytes">バイト</string>
<string name="errors">エラー</string>
<string name="home_feed">ホームフィード</string>
<string name="private_message_feed">非公開メッセージフィード</string>
<string name="public_chat_feed">公開チャットフィード</string>
<string name="global_feed">グローバルフィード</string>
<string name="search_feed">検索フィード</string>
<string name="add_a_relay">リレーを追加</string>
<string name="display_name">表示名</string>
<string name="my_display_name">わたしの表示名</string>
<string name="username">ユーザ名</string>
<string name="my_username">わたしのユーザ名</string>
<string name="about_me">自己紹介</string>
<string name="avatar_url">アバターURL</string>
<string name="banner_url">バナーURL</string>
<string name="website_url">ウェブサイトURL</string>
<string name="ln_address">LNアドレス</string>
<string name="ln_url_outdated">LN URL (旧式)</string>
<string name="image_saved_to_the_gallery">画像を保存しました</string>
<string name="failed_to_save_the_image">画像の保存に失敗しました</string>
<string name="upload_image">画像をアップロード</string>
<string name="uploading">アップロード中…</string>
<string name="user_does_not_have_a_lightning_address_setup_to_receive_sats">satsを受け取るためのLightningアドレスが設定されていません</string>
<string name="reply_here">"ここに返信… "</string>
<string name="copies_the_note_id_to_the_clipboard_for_sharing">投稿IDをクリップボードにコピー</string>
<string name="copy_channel_id_note_to_the_clipboard">チャンネルIDをクリップボードにコピー</string>
<string name="edits_the_channel_metadata">チャンネルのメタデータを編集</string>
<string name="join">参加</string>
<string name="known">知り合い</string>
@@ -109,16 +88,12 @@
<string name="conversations">会話</string>
<string name="notes">投稿</string>
<string name="replies">リプライ</string>
<string name="follows">"フォロー"</string>
<string name="reports">"通報"</string>
<string name="more_options">詳細なオプション</string>
<string name="relays">" リレー"</string>
<string name="website">ウェブサイト</string>
<string name="lightning_address">Lightningアドレス</string>
<string name="copies_the_nsec_id_your_password_to_the_clipboard_for_backup">バックアップ用に nsec ID (パスワード) をクリップボードにコピー</string>
<string name="copy_private_key_to_the_clipboard">クリップボードに秘密鍵をコピー</string>
<string name="copies_the_public_key_to_the_clipboard_for_sharing">公開鍵をクリップボードにコピー</string>
<string name="copy_public_key_npub_to_the_clipboard">公開鍵 (NPub) をクリップボードにコピー</string>
<string name="send_a_direct_message">ダイレクトメッセージを送信</string>
<string name="edits_the_user_s_metadata">ユーザのメタデータを編集</string>
<string name="follow">フォロー</string>
@@ -138,18 +113,11 @@
<string name="acceptance_of_terms_is_required">利用規約の同意が必要です</string>
<string name="key_is_required">鍵が必要です</string>
<string name="login">ログイン</string>
<string name="generate_a_new_key">新しい鍵を生成</string>
<string name="loading_feed">フィードを読み込み中</string>
<string name="error_loading_replies">"リプライ読み込みエラー: "</string>
<string name="try_again">後ほどお試しください</string>
<string name="feed_is_empty">フィードが空です</string>
<string name="refresh">更新</string>
<string name="created">が作成しました:</string>
<string name="with_description_of">説明:</string>
<string name="and_picture">画像:</string>
<string name="changed_chat_name_to">がチャンネル情報を変更しました:</string>
<string name="description_to">説明:</string>
<string name="and_picture_to">画像:</string>
<string name="leave">退出</string>
<string name="unfollow">フォロー解除</string>
<string name="channel_created">チャンネルが作成されました</string>
@@ -172,7 +140,6 @@
<string name="profanity_hateful_speech">誹謗中傷 / ヘイトスピーチ</string>
<string name="report_hateful_speech">ヘイトスピーチを通報</string>
<string name="report_nudity_porn">ヌード / ポルノを通報</string>
<string name="others">その他</string>
<string name="mark_all_known_as_read">すべての「知り合い」を既読にする</string>
<string name="mark_all_new_as_read">すべての「新規リクエスト」を既読にする</string>
<string name="mark_all_as_read">すべて既読にする</string>
@@ -180,23 +147,18 @@
<string name="secret_key_copied_to_clipboard">秘密鍵 (nsec) をクリップボードにコピーしました</string>
<string name="copy_my_secret_key">秘密鍵をコピー</string>
<string name="biometric_authentication_failed">認証に失敗しました</string>
<string name="biometric_error">エラー</string>
<string name="badge_created_by">"%1$s によって作成"</string>
<string name="badge_award_image_for">"%1$sのバッジ授与画像"</string>
<string name="new_badge_award_notif">新しいバッジが授与されました</string>
<string name="award_granted_to">バッジ授与が承認されました:</string>
<string name="copied_note_text_to_clipboard">テキストがクリップボードにコピーされました</string>
<string name="copied_user_id_to_clipboard" tools:ignore="Typos">\@npubをクリップボードにコピーしました</string>
<string name="copied_note_id_to_clipboard" tools:ignore="Typos">投稿ID (@note1) をクリップボードにコピーしました</string>
<string name="select_text_dialog_top">テキストを選択</string>
<string name="private_conversation_notification">"&lt;プライベートメッセージの復号に失敗しました&gt;\n\n%1$s と %2$s のプライベート/暗号化された会話であなたが言及されました。"</string>
<string name="account_switch_add_account_dialog_title">アカウントを追加</string>
<string name="drawer_accounts">アカウント</string>
<string name="account_switch_select_account">アカウントを選択</string>
<string name="account_switch_add_account_btn">新規アカウントを追加</string>
<string name="account_switch_active_account">アクティブアカウント</string>
<string name="account_switch_has_private_key">秘密鍵あり</string>
<string name="account_switch_pubkey_only">読み取り専用、秘密鍵なし</string>
<string name="back">戻る</string>
<string name="quick_action_select">選択</string>
<string name="quick_action_share_browser_link">ブラウザリンクを共有</string>
@@ -213,7 +175,6 @@
<string name="quick_action_delete_dialog_btn">削除</string>
<string name="quick_action_block">ブロック</string>
<string name="quick_action_report">通報</string>
<string name="quick_action_delete_button">削除</string>
<string name="quick_action_dont_show_again_button">再度表示しない</string>
<string name="report_dialog_spam">スパムまたは詐欺</string>
<string name="report_dialog_profanity">誹謗中傷またはヘイトスピーチ</string>
@@ -238,27 +199,12 @@
<string name="add_to_public_bookmarks">公開ブックマークに追加</string>
<string name="remove_from_private_bookmarks">非公開ブックマークから削除</string>
<string name="remove_from_public_bookmarks">公開ブックマークから削除</string>
<string name="wallet_connect_service">Wallet Connectサービス</string>
<string name="wallet_connect_service_explainer">アプリから離脱することなくザップするためにNostrシークレットを設定できます。シークレットは安全に保管し、可能であればプライベートリレーを使用してください</string>
<string name="wallet_connect_service_pubkey">Wallet Connectの公開鍵</string>
<string name="wallet_connect_service_relay">Wallet Connectのリレー</string>
<string name="wallet_connect_service_secret">Wallet Connectの秘密鍵</string>
<string name="wallet_connect_service_show_secret">秘密鍵を表示</string>
<string name="wallet_connect_service_secret_placeholder">nsec または hex 形式の秘密鍵</string>
<string name="pledge_amount_in_sats">誓約額 (sats)</string>
<string name="post_poll">投票を送信</string>
<string name="poll_heading_required">必須のフィールド:</string>
<string name="poll_zap_recipients">ザップ受取人</string>
<string name="poll_primary_description">投票の説明…</string>
<string name="poll_option_index">選択肢%s</string>
<string name="poll_option_description">投票の選択肢の説明</string>
<string name="poll_heading_optional">任意のフィールド:</string>
<string name="poll_zap_value_min">最小ザップ額</string>
<string name="poll_zap_value_max">最大ザップ額</string>
<string name="poll_consensus_threshold">コンセンサス</string>
<string name="poll_closing_time">終了まで</string>
<string name="poll_closing_time_days">日</string>
<string name="poll_zap_amount">ザップ額</string>
<string name="one_vote_per_user_on_atomic_votes">このタイプの投票では、1ユーザにつき1回のみ投票可能です</string>
<string name="looking_for_event">"イベント %1$s を探しています"</string>
<string name="custom_zaps_add_a_message">公開メッセージを追加</string>
@@ -286,30 +232,12 @@
<string name="zap_type_nonzap">非ザップ</string>
<string name="zap_type_nonzap_explainer">Nostrを経由せずにLightning支払いを行います</string>
<string name="file_server">ファイルサーバ</string>
<string name="zap_forward_lnAddress">LNアドレス または @ユーザ名</string>
<string name="upload_server_relays_nip95">あなたのリレー (NIP-95)</string>
<string name="upload_server_relays_nip95_explainer">ファイルはあなたのリレーによってホストされます。新規NIP: リレーがサポートしているか確認してください</string>
<string name="connect_via_tor_short">Tor/Orbotを設定</string>
<string name="connect_via_tor">Orbotの設定を通して接続</string>
<string name="do_you_really_want_to_disable_tor_title">Orbot/Torから切断しますか?</string>
<string name="do_you_really_want_to_disable_tor_text">データはすぐに通常のネットワークで送信されます</string>
<string name="yes">はい</string>
<string name="no">いいえ</string>
<string name="follow_list_selection">フォローリスト</string>
<string name="follow_list_kind3follows">すべてのフォロー</string>
<string name="follow_list_global">グローバル</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Orbotを利用してTor経由で接続する
\n\n1. [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)をインストール
\n2. Orbotを立ち上げる
\n3. OrbotでSocksポート番号を確認する。デフォルトは9050
\n4. 必要に応じてOrbotでポート番号を変更する
\n5. この画面でSocksポート番号を設定する
\n6. アクティベートボタンを押して、Orbotをプロキシとして使用する
</string>
<string name="orbot_socks_port">OrbotのSocksポート番号</string>
<string name="invalid_port_number">無効なポート番号</string>
<string name="use_orbot">Orbotを使用</string>
<string name="disconnect_from_your_orbot_setup">Tor/Orbotを切断</string>
<string name="app_notification_dms_channel_name">プライベートメッセージ</string>
<string name="app_notification_dms_channel_description">プライベートメッセージが届いたら通知する</string>
<string name="app_notification_zaps_channel_name">ザップを受け取りました</string>
@@ -317,20 +245,9 @@
<string name="app_notification_zaps_channel_message_from">%1$sから</string>
<string name="app_notification_zaps_channel_message_for">%1$sに</string>
<string name="reply_notify">通知: </string>
<string name="channel_list_join_conversation">会話に参加</string>
<string name="channel_list_user_or_group_id">ユーザIDまたはグループID</string>
<string name="channel_list_user_or_group_id_demo">npub、nevent または hex</string>
<string name="channel_list_create_channel">作成</string>
<string name="channel_list_join_channel">参加</string>
<string name="today">今日</string>
<string name="content_warning">コンテンツ警告</string>
<string name="content_warning_explanation">この投稿には、一部の人々が不快や不穏に感じる可能性のあるセンシティブな内容が含まれています</string>
<string name="content_warning_hide_all_sensitive_content">センシティブなコンテンツを常に非表示</string>
<string name="content_warning_show_all_sensitive_content">センシティブなコンテンツを常に表示</string>
<string name="content_warning_see_warnings">コンテンツ警告を常に表示</string>
<string name="recommended_apps">推奨: </string>
<string name="filter_spam_from_strangers">見知らぬユーザからのスパムをフィルタリングする</string>
<string name="warn_when_posts_have_reports_from_your_follows">あなたがフォローしている人に通報された投稿を警告する</string>
<string name="new_reaction_symbol">新しいリアクションシンボル</string>
<string name="no_reaction_type_setup_long_press_to_change">リアクションタイプが選択されていません。長押しして変更</string>
<string name="zapraiser_explainer">この投稿の目標募金額を追加します。サポートするクライアントは、寄付を促すためにこれをプログレスバーとして表示することができます</string>
@@ -342,23 +259,14 @@
<string name="software">ソフトウェア</string>
<string name="contact">連絡先</string>
<string name="supports">サポートしているNIP</string>
<string name="admission_fees">利用料</string>
<string name="payments_url">決済URL</string>
<string name="limitations">制限</string>
<string name="countries">国</string>
<string name="languages">言語</string>
<string name="tags">タグ</string>
<string name="posting_policy">投稿ポリシー</string>
<string name="message_length">メッセージ長</string>
<string name="subscriptions">サブスクリプション</string>
<string name="filters">フィルタ</string>
<string name="subscription_id_length">サブスクリプションID長</string>
<string name="minimum_prefix">最小プレフィックス</string>
<string name="maximum_event_tags">最大タグ数</string>
<string name="content_length">コンテンツ長</string>
<string name="minimum_pow">最小PoW</string>
<string name="auth">認証</string>
<string name="payment">決済</string>
<string name="cashu">Cashuトークン</string>
<string name="cashu_redeem">償還</string>
<string name="live_stream_live_tag">ライブ</string>
@@ -378,7 +286,6 @@
<string name="add_sensitive_content_description">コンテンツを表示する前に、センシティブなコンテンツであることを示す警告を表示します</string>
<string name="settings">設定</string>
<string name="connectivity_type_always">常に</string>
<string name="connectivity_type_wifi_only">Wifiのみ</string>
<string name="system">システム</string>
<string name="light">ライト</string>
<string name="dark">ダーク</string>
@@ -388,5 +295,4 @@
<string name="automatically_load_images_gifs">自動的に画像/GIFを読み込み</string>
<string name="automatically_play_videos">自動的に動画を再生</string>
<string name="automatically_show_url_preview">自動的にURLプレビューを表示</string>
<string name="load_image">画像読み込み</string>
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -5,7 +5,6 @@
<string name="post_not_found_short">👀</string>
<string name="channel_image">Kanāla attēls</string>
<string name="group_picture">Grupas attēls</string>
<string name="unknown">Nezināms</string>
<string name="unknown_author">Nezināms autors</string>
<string name="copy_text">Kopēt tekstu</string>
<string name="copy_user_pubkey">Kopēt autora ID</string>
@@ -14,7 +13,6 @@
<string name="report_impersonation">Sūdzēties par uzdošanos kā cita persona</string>
<string name="report_malware">Sūdzēties par ļaunprogrammatūru</string>
<string name="malware">Ļaunprogrammatūra</string>
<string name="view_count">Skatījumi</string>
<string name="edited">rediģēts</string>
<string name="quote">Citāts</string>
<string name="add">Pievienot</string>
@@ -27,7 +25,6 @@
<string name="pay">Maksāt</string>
<string name="secret_visible_text_placeholder">😎</string>
<string name="secret_add_to_text">Pievienot ierakstam</string>
<string name="new_channel">Jauns kanāls</string>
<string name="channel_name">Kanāla nosaukums</string>
<string name="picture_url">Attēla URL</string>
<string name="description">Apraksts</string>
@@ -36,21 +33,14 @@
<string name="save">Saglabāt</string>
<string name="create">Izveidot</string>
<string name="cancel">Atcelt</string>
<string name="failed_to_upload_the_image">Neizdevās augšupielādēt attēlu</string>
<string name="posts">Ieraksti</string>
<string name="bytes">Baiti</string>
<string name="errors">Kļūdas</string>
<string name="username">Lietotājvārds</string>
<string name="my_username">Mans lietotājvārds</string>
<string name="about_me">Par mani</string>
<string name="ln_address">LN adrese</string>
<string name="upload_image">Augšupielādēt attēlu</string>
<string name="uploading">Augšupielādē…</string>
<string name="blocked_users">Bloķētie lietotāji</string>
<string name="notes">Piezīmes</string>
<string name="replies">Atbildes</string>
<string name="gallery">Galerija</string>
<string name="follows">"Seko"</string>
<string name="follow">Sekot</string>
<string name="unblock">Atbloķēt</string>
<string name="unblock_user">Atbloķēt lietotāju</string>
@@ -61,14 +51,10 @@
<string name="hide_password">Slēpt paroli</string>
<string name="password_is_required">Ir nepieciešama parole</string>
<string name="create_account">Izveidot kontu</string>
<string name="create_a_new_account">Izveidot jaunu kontu</string>
<string name="generate_a_new_key">Ģenerēt jaunu atslēgu</string>
<string name="loading_account">Ielādē kontu</string>
<!-- A reply whose target was searched for across all reachable history and never found. -->
<!-- Reply subtitle when every relay genuinely bottomed out (no stalls) and it still wasn't there. -->
<string name="refresh">Atsvaidzināt</string>
<string name="description_to">aprakstu uz</string>
<string name="and_picture_to">un attēlu uz</string>
<string name="channel_created">Kanāls izveidots</string>
<string name="posts_received">saņemtie ieraksti</string>
<string name="remove">Noņemt</string>
@@ -82,14 +68,11 @@
<string name="account_backup_tips3_md" tools:ignore="Typos"> Papildu drošībai variet šifrēt atslēgu ar paroli. Šī atslēga sāksies ar **ncryptsec1** virkni un to nevarēs izmantot bez šīs paroles.
\n\nJa jūs aizmirsīsiet paroli, vairs nevarēsiet atgūt savu atslēgu.
</string>
<string name="biometric_error">Kļūda</string>
<string name="account_switch_add_account_dialog_title">Pievienot jaunu kontu</string>
<string name="drawer_accounts">Konti</string>
<string name="account_switch_select_account">Atlasīt kontu</string>
<string name="account_switch_add_account_btn">Pievienot jaunu kontu</string>
<string name="account_switch_active_account">Pašreizējais konts</string>
<string name="account_switch_has_private_key">Ar privāto atslēgu</string>
<string name="account_switch_pubkey_only">Tikai lasīšana, bez privātās atslēgas</string>
<string name="quick_action_copy_user_id">Autora ID</string>
<string name="quick_action_copy_text">Kopēt tekstu</string>
<string name="quick_action_delete">Dzēst</string>
@@ -97,15 +80,11 @@
<string name="quick_action_block_dialog_btn">@string/block_only</string>
<string name="quick_action_delete_dialog_btn">Dzēst</string>
<string name="quick_action_block">@string/block_only</string>
<string name="quick_action_delete_button">Dzēst</string>
<string name="report_dialog_malware">@string/malware</string>
<string name="report_dialog_block_hide_user_btn"><![CDATA[@string/block_hide_user]]></string>
<string name="report_dialog_select_reason_label">Iemesls</string>
<string name="report_dialog_title">Bloķēt un sūdzēties</string>
<string name="block_only">Bloķēt</string>
<string name="bookmarks">Grāmatzīmes</string>
<string name="poll_closing_time">Aizvērt pēc</string>
<string name="poll_closing_time_days">dienām</string>
<string name="content_description_add_image">Pievienot attēlu</string>
<string name="content_description_add_video">Pievienot video</string>
<string name="content_description_add_document">Pievienot dokumentu</string>
@@ -116,9 +95,7 @@
<string name="connect_via_tor2">Tor iestatījumi</string>
<string name="yes">Jā</string>
<string name="no">Nē</string>
<string name="follow_list_selection">Sekot saraksts</string>
<string name="follow_set_icon_description">Ikona sarakstam</string>
<string name="follow_set_creation_menu_title">Izveidot jaunu sarakstu</string>
<string name="follow_set_creation_dialog_title">Jauns sekošanas saraksts</string>
<string name="follow_set_creation_name_label">Kolekcijas nosaukums</string>
<string name="follow_set_creation_desc_label">Kolekcijas apraksts (neobligāti, pēc izvēles)</string>
@@ -133,8 +110,6 @@
<string name="version">Versija</string>
<string name="countries">Valstis</string>
<string name="languages">Valodas</string>
<string name="tags">Birkas</string>
<string name="auth">Autorizācija</string>
<string name="followed_tags">Birkas, kurām sekoju</string>
<string name="community_approved_posts">Apstiprinātie ieraksti</string>
<string name="preferences">Lietotnes iestatījumi</string>
@@ -147,10 +122,7 @@
<string name="language">Valoda</string>
<string name="theme">Motīvs</string>
<string name="messages_cant_upload_title">Nevar augšupielādēt</string>
<string name="rules">Noteikumi</string>
<string name="community_description">Par mums</string>
<string name="error_dialog_button_ok">Labi</string>
<string name="active_for_search">Meklēt</string>
<string name="zap_split_search_and_add_user_placeholder">Lietotājvārds vai parādāmais vārds</string>
<string name="automatically_show_profile_picture">Profila attēls</string>
<string name="error_dialog_pay_invoice_error">Nevarēja samaksāt rēķinu</string>
@@ -166,14 +138,11 @@
<string name="failed_to_upload_media">Augšupielādes kļūda: %1$s</string>
<string name="could_not_download_from_the_server">Nevarēja lejupielādēt augšupielādēto multivides datni no servera</string>
<string name="failed_to_upload_to_server_with_message">Neizdevās augšupielādēt %1$s: %2$s</string>
<string name="failed_to_upload_with_message">Neizdevās augšupielādēt: %1$s</string>
<string name="route_search">Meklēt</string>
<string name="route_notifications">Paziņojumi</string>
<!-- Onchain zap send dialog -->
<string name="new_post">Jauns ieraksts</string>
<string name="thank_you">Paldies!</string>
<string name="edit_post">Rediģēt ierakstu</string>
<string name="message_to_author">Izmaiņu kopsavilkums</string>
<string name="accessibility_download_for_offline">@string/torrent_download</string>
<string name="accessibility_play_username">Atskaņot lietotājvārdu ar skaņu</string>
<string name="torrent_file">Torrenta datne</string>
@@ -190,4 +159,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>
@@ -19,4 +19,5 @@
<!-- Emoji packs -->
<!-- NIP-9B community rules composer-side validation. -->
<!-- Nowhere links (hostednowhere.com / nowhr.xyz). The site name "Nowhere" is a proper noun, do not translate. -->
<!-- Marmot (MLS) group chats -->
</resources>

Some files were not shown because too many files have changed in this diff Show More