Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst: fix: preserve search screen scroll position across navigation feat: add audio and PDF file upload support to ShortNotePostScreen New Crowdin translations by GitHub Action
This commit is contained in:
+129
@@ -0,0 +1,129 @@
|
|||||||
|
/*
|
||||||
|
* 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.actions.uploads
|
||||||
|
|
||||||
|
import android.net.Uri
|
||||||
|
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||||
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.AttachFile
|
||||||
|
import androidx.compose.material3.Icon
|
||||||
|
import androidx.compose.material3.IconButton
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.SideEffect
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
|
import androidx.compose.runtime.setValue
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import com.vitorpamplona.amethyst.R
|
||||||
|
import com.vitorpamplona.amethyst.ui.components.LoadingAnimation
|
||||||
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun SelectFromFiles(
|
||||||
|
isUploading: Boolean,
|
||||||
|
tint: Color,
|
||||||
|
modifier: Modifier,
|
||||||
|
onFilesChosen: (ImmutableList<SelectedMedia>) -> Unit,
|
||||||
|
) {
|
||||||
|
var showFileSelect by remember { mutableStateOf(false) }
|
||||||
|
if (showFileSelect) {
|
||||||
|
FileSelect(
|
||||||
|
onFilesSelected = { files ->
|
||||||
|
showFileSelect = false
|
||||||
|
if (files.isNotEmpty()) {
|
||||||
|
onFilesChosen(files)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
FileSelectButton(isUploading, tint, modifier) { showFileSelect = true }
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun FileSelectButton(
|
||||||
|
isUploading: Boolean,
|
||||||
|
tint: Color,
|
||||||
|
modifier: Modifier,
|
||||||
|
onClick: () -> Unit,
|
||||||
|
) {
|
||||||
|
IconButton(
|
||||||
|
modifier = modifier,
|
||||||
|
enabled = !isUploading,
|
||||||
|
onClick = { onClick() },
|
||||||
|
) {
|
||||||
|
if (!isUploading) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Default.AttachFile,
|
||||||
|
contentDescription = stringRes(id = R.string.upload_file),
|
||||||
|
modifier = Modifier.height(25.dp),
|
||||||
|
tint = tint,
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
LoadingAnimation()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun FileSelect(onFilesSelected: (ImmutableList<SelectedMedia>) -> Unit = {}) {
|
||||||
|
val hasLaunched by remember { mutableStateOf(AtomicBoolean(false)) }
|
||||||
|
val resolver = LocalContext.current.contentResolver
|
||||||
|
|
||||||
|
val launcher =
|
||||||
|
rememberLauncherForActivityResult(
|
||||||
|
contract = ActivityResultContracts.OpenMultipleDocuments(),
|
||||||
|
onResult = { uris: List<Uri> ->
|
||||||
|
onFilesSelected(
|
||||||
|
uris
|
||||||
|
.map {
|
||||||
|
SelectedMedia(it, resolver.getType(it))
|
||||||
|
}.toImmutableList(),
|
||||||
|
)
|
||||||
|
hasLaunched.set(false)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun LaunchFilePicker() {
|
||||||
|
SideEffect {
|
||||||
|
if (!hasLaunched.getAndSet(true)) {
|
||||||
|
launcher.launch(
|
||||||
|
arrayOf(
|
||||||
|
"audio/*",
|
||||||
|
"application/pdf",
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LaunchFilePicker()
|
||||||
|
}
|
||||||
+4
@@ -55,6 +55,10 @@ class SelectedMedia(
|
|||||||
fun isImage() = mimeType?.startsWith("image")
|
fun isImage() = mimeType?.startsWith("image")
|
||||||
|
|
||||||
fun isVideo() = mimeType?.startsWith("video")
|
fun isVideo() = mimeType?.startsWith("video")
|
||||||
|
|
||||||
|
fun isAudio() = mimeType?.startsWith("audio")
|
||||||
|
|
||||||
|
fun isDocument() = mimeType == "application/pdf"
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|||||||
+50
@@ -28,14 +28,21 @@ import android.os.Build
|
|||||||
import androidx.compose.animation.core.animateFloatAsState
|
import androidx.compose.animation.core.animateFloatAsState
|
||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.windowInsetsPadding
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.AudioFile
|
||||||
|
import androidx.compose.material.icons.filled.PictureAsPdf
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
import androidx.compose.material3.CircularProgressIndicator
|
||||||
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.ProgressIndicatorDefaults
|
import androidx.compose.material3.ProgressIndicatorDefaults
|
||||||
@@ -117,6 +124,16 @@ fun ShowImageGallery(
|
|||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.windowInsetsPadding(WindowInsets(0.dp, 0.dp, 0.dp, 0.dp)),
|
.windowInsetsPadding(WindowInsets(0.dp, 0.dp, 0.dp, 0.dp)),
|
||||||
)
|
)
|
||||||
|
} else if (media.isAudio() == true) {
|
||||||
|
FilePreviewPlaceholder(
|
||||||
|
icon = Icons.Default.AudioFile,
|
||||||
|
label = media.mimeType ?: "audio/*",
|
||||||
|
)
|
||||||
|
} else if (media.isDocument() == true) {
|
||||||
|
FilePreviewPlaceholder(
|
||||||
|
icon = Icons.Default.PictureAsPdf,
|
||||||
|
label = media.mimeType ?: "application/pdf",
|
||||||
|
)
|
||||||
} else if (media.isVideo() == true && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
} else if (media.isVideo() == true && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||||
var bitmap by remember { mutableStateOf<Bitmap?>(null) }
|
var bitmap by remember { mutableStateOf<Bitmap?>(null) }
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
@@ -254,3 +271,36 @@ fun UploadingState(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun FilePreviewPlaceholder(
|
||||||
|
icon: androidx.compose.ui.graphics.vector.ImageVector,
|
||||||
|
label: String,
|
||||||
|
) {
|
||||||
|
Box(
|
||||||
|
modifier =
|
||||||
|
Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.background(MaterialTheme.colorScheme.surfaceVariant),
|
||||||
|
contentAlignment = Alignment.Center,
|
||||||
|
) {
|
||||||
|
Column(
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
|
verticalArrangement = Arrangement.Center,
|
||||||
|
modifier = Modifier.padding(8.dp),
|
||||||
|
) {
|
||||||
|
Icon(
|
||||||
|
imageVector = icon,
|
||||||
|
contentDescription = label,
|
||||||
|
modifier = Modifier.size(40.dp),
|
||||||
|
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
|
)
|
||||||
|
Text(
|
||||||
|
text = label,
|
||||||
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
|
fontSize = 10.sp,
|
||||||
|
textAlign = TextAlign.Center,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ object ScrollStateKeys {
|
|||||||
const val DISCOVER_LIVE = "DiscoverLiveFeed"
|
const val DISCOVER_LIVE = "DiscoverLiveFeed"
|
||||||
const val DISCOVER_COMMUNITY = "DiscoverCommunitiesFeed"
|
const val DISCOVER_COMMUNITY = "DiscoverCommunitiesFeed"
|
||||||
const val DISCOVER_CHATS = "DiscoverChatsFeed"
|
const val DISCOVER_CHATS = "DiscoverChatsFeed"
|
||||||
|
|
||||||
|
const val SEARCH_SCREEN = "SearchFeed"
|
||||||
}
|
}
|
||||||
|
|
||||||
object PagerStateKeys {
|
object PagerStateKeys {
|
||||||
|
|||||||
+9
@@ -63,6 +63,7 @@ import com.vitorpamplona.amethyst.model.Note
|
|||||||
import com.vitorpamplona.amethyst.ui.actions.mediaServers.FileServerSelectionRow
|
import com.vitorpamplona.amethyst.ui.actions.mediaServers.FileServerSelectionRow
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.MAX_VOICE_RECORD_SECONDS
|
import com.vitorpamplona.amethyst.ui.actions.uploads.MAX_VOICE_RECORD_SECONDS
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.RecordVoiceButton
|
import com.vitorpamplona.amethyst.ui.actions.uploads.RecordVoiceButton
|
||||||
|
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectFromFiles
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectFromGallery
|
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectFromGallery
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectedMedia
|
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectedMedia
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.TakePictureButton
|
import com.vitorpamplona.amethyst.ui.actions.uploads.TakePictureButton
|
||||||
@@ -504,6 +505,14 @@ private fun BottomRowActions(postViewModel: ShortNotePostViewModel) {
|
|||||||
maxDurationSeconds = MAX_VOICE_RECORD_SECONDS,
|
maxDurationSeconds = MAX_VOICE_RECORD_SECONDS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
SelectFromFiles(
|
||||||
|
isUploading = postViewModel.isUploadingImage,
|
||||||
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
|
modifier = Modifier,
|
||||||
|
) {
|
||||||
|
postViewModel.selectImage(it)
|
||||||
|
}
|
||||||
|
|
||||||
if (postViewModel.canUsePoll) {
|
if (postViewModel.canUsePoll) {
|
||||||
// These should be hashtag recommendations the user selects in the future.
|
// These should be hashtag recommendations the user selects in the future.
|
||||||
// val hashtag = stringRes(R.string.poll_hashtag)
|
// val hashtag = stringRes(R.string.poll_hashtag)
|
||||||
|
|||||||
+3
-2
@@ -33,7 +33,6 @@ import androidx.compose.foundation.layout.statusBarsPadding
|
|||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.foundation.lazy.itemsIndexed
|
import androidx.compose.foundation.lazy.itemsIndexed
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.material3.HorizontalDivider
|
import androidx.compose.material3.HorizontalDivider
|
||||||
@@ -59,7 +58,9 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.model.nip11RelayInfo.loadRelayInfo
|
import com.vitorpamplona.amethyst.model.nip11RelayInfo.loadRelayInfo
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.TextSearchDataSourceSubscription
|
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.TextSearchDataSourceSubscription
|
||||||
|
import com.vitorpamplona.amethyst.ui.feeds.ScrollStateKeys
|
||||||
import com.vitorpamplona.amethyst.ui.feeds.WatchLifecycleAndUpdateModel
|
import com.vitorpamplona.amethyst.ui.feeds.WatchLifecycleAndUpdateModel
|
||||||
|
import com.vitorpamplona.amethyst.ui.feeds.rememberForeverLazyListState
|
||||||
import com.vitorpamplona.amethyst.ui.layouts.DisappearingScaffold
|
import com.vitorpamplona.amethyst.ui.layouts.DisappearingScaffold
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.bottombars.AppBottomBar
|
import com.vitorpamplona.amethyst.ui.navigation.bottombars.AppBottomBar
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
||||||
@@ -107,7 +108,7 @@ fun SearchScreen(
|
|||||||
) {
|
) {
|
||||||
WatchLifecycleAndUpdateModel(searchBarViewModel)
|
WatchLifecycleAndUpdateModel(searchBarViewModel)
|
||||||
|
|
||||||
val listState = rememberLazyListState()
|
val listState = rememberForeverLazyListState(ScrollStateKeys.SEARCH_SCREEN)
|
||||||
|
|
||||||
LaunchedEffect(searchBarViewModel.focusRequester) {
|
LaunchedEffect(searchBarViewModel.focusRequester) {
|
||||||
searchBarViewModel.focusRequester.requestFocus()
|
searchBarViewModel.focusRequester.requestFocus()
|
||||||
|
|||||||
@@ -419,6 +419,15 @@
|
|||||||
<string name="wallet_connect_service_secret">Tajemství 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_show_secret">Zobrazit tajný klíč</string>
|
||||||
<string name="wallet_connect_service_secret_placeholder">nsec / hex soukromý klíč</string>
|
<string name="wallet_connect_service_secret_placeholder">nsec / hex soukromý klíč</string>
|
||||||
|
<string name="wallet_connect_status_connected">Připojeno</string>
|
||||||
|
<string name="wallet_connect_status_not_connected">Nepřipojeno</string>
|
||||||
|
<string name="wallet_connect_manual_config">Pokročilé: zadejte podrobnosti připojení ručně</string>
|
||||||
|
<string name="quick_zap_amounts">Rychlé částky Zap</string>
|
||||||
|
<string name="quick_zap_amounts_explainer">Zobrazí se při stisknutí tlačítka zap. Klepnutím na částku ji odeberete. Pokud ponecháte prázdné, otevře se pokaždé dialog pro zadání částky.</string>
|
||||||
|
<string name="zap_privacy_section">Soukromí Zap</string>
|
||||||
|
<string name="zap_type_section_explainer">Určuje, jak je zobrazena vaše identita při odesílání zapsu.</string>
|
||||||
|
<string name="wallet_connect_connect_app">Připojit peněženku</string>
|
||||||
|
<string name="see_relay_feed">Zobrazit kanál relé</string>
|
||||||
<string name="pledge_amount_in_sats">Částka záruky v sats</string>
|
<string name="pledge_amount_in_sats">Částka záruky v sats</string>
|
||||||
<string name="post_poll">Zveřejnit hlasování</string>
|
<string name="post_poll">Zveřejnit hlasování</string>
|
||||||
<string name="poll_heading_required">Povinná pole:</string>
|
<string name="poll_heading_required">Povinná pole:</string>
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
<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="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="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="owner">Vlastník</string>
|
||||||
|
<string name="used_by">Používáno</string>
|
||||||
<string name="self">Servisní klíč</string>
|
<string name="self">Servisní klíč</string>
|
||||||
<string name="running_software">Spuštěno %1$s</string>
|
<string name="running_software">Spuštěno %1$s</string>
|
||||||
<string name="running_software_version">Spuštěno %1$s (%2$s)</string>
|
<string name="running_software_version">Spuštěno %1$s (%2$s)</string>
|
||||||
@@ -853,6 +863,7 @@
|
|||||||
<string name="load_image_description">Kdy načíst obrázek</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_stack_to_clipboard">Kopírovat zásobník</string>
|
||||||
<string name="copy_to_clipboard">Kopírovat do schránky</string>
|
<string name="copy_to_clipboard">Kopírovat do schránky</string>
|
||||||
|
<string name="copy_nprofile_to_clipboard">Zkopírovat nprofile do schránky</string>
|
||||||
<string name="copy_npub_to_clipboard">Kopírovat npub do schránky</string>
|
<string name="copy_npub_to_clipboard">Kopírovat npub do schránky</string>
|
||||||
<string name="share_or_save">Sdílet nebo Uložit</string>
|
<string name="share_or_save">Sdílet nebo Uložit</string>
|
||||||
<string name="copy_url_to_clipboard">Kopírovat URL do schránky</string>
|
<string name="copy_url_to_clipboard">Kopírovat URL do schránky</string>
|
||||||
@@ -1076,6 +1087,7 @@
|
|||||||
<string name="add_content_warning">Přidat upozornění na obsah</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="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="show_npub_as_a_qr_code">Zobrazit npub jako QR kód</string>
|
||||||
|
<string name="show_nprofile_as_a_qr_code">Zobrazit nprofile jako QR kód</string>
|
||||||
<string name="invalid_nip19_uri">Neplatná adresa</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="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_title">Relé DM Schránky</string>
|
||||||
@@ -1458,16 +1470,4 @@
|
|||||||
<string name="kind_voice_msg">Hlasová zpráva</string>
|
<string name="kind_voice_msg">Hlasová zpráva</string>
|
||||||
<string name="kind_voice_reply">Hlasová odpověď</string>
|
<string name="kind_voice_reply">Hlasová odpověď</string>
|
||||||
<string name="kind_wiki">Wiki</string>
|
<string name="kind_wiki">Wiki</string>
|
||||||
<string name="see_relay_feed">Zobrazit kanál relé</string>
|
|
||||||
<string name="used_by">Používáno</string>
|
|
||||||
<string name="copy_nprofile_to_clipboard">Zkopírovat nprofile do schránky</string>
|
|
||||||
<string name="show_nprofile_as_a_qr_code">Zobrazit nprofile jako QR kód</string>
|
|
||||||
<string name="quick_zap_amounts_explainer">Zobrazí se při stisknutí tlačítka zap. Klepnutím na částku ji odeberete. Pokud ponecháte prázdné, otevře se pokaždé dialog pro zadání částky.</string>
|
|
||||||
<string name="wallet_connect_status_connected">Připojeno</string>
|
|
||||||
<string name="wallet_connect_status_not_connected">Nepřipojeno</string>
|
|
||||||
<string name="wallet_connect_manual_config">Pokročilé: zadejte podrobnosti připojení ručně</string>
|
|
||||||
<string name="quick_zap_amounts">Rychlé částky Zap</string>
|
|
||||||
<string name="zap_privacy_section">Soukromí Zap</string>
|
|
||||||
<string name="zap_type_section_explainer">Určuje, jak je zobrazena vaše identita při odesílání zapsu.</string>
|
|
||||||
<string name="wallet_connect_connect_app">Připojit peněženku</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -425,6 +425,15 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="wallet_connect_service_secret">Wallet-Verbindungs-Geheimnis</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_show_secret">Geheimen Schlüssel anzeigen</string>
|
||||||
<string name="wallet_connect_service_secret_placeholder">nsec / hexadezimaler privater Schlüssel</string>
|
<string name="wallet_connect_service_secret_placeholder">nsec / hexadezimaler privater Schlüssel</string>
|
||||||
|
<string name="wallet_connect_status_connected">Verbunden</string>
|
||||||
|
<string name="wallet_connect_status_not_connected">Nicht verbunden</string>
|
||||||
|
<string name="wallet_connect_manual_config">Erweitert: Verbindungsdetails manuell eingeben</string>
|
||||||
|
<string name="quick_zap_amounts">Schnelle Zap-Beträge</string>
|
||||||
|
<string name="quick_zap_amounts_explainer">Wird beim Drücken der Zap-Schaltfläche angezeigt. Tippe auf einen Betrag, um ihn zu entfernen. Wenn du es leer lässt, wird jedes Mal ein Dialog zur Eingabe eines Betrags geöffnet.</string>
|
||||||
|
<string name="zap_privacy_section">Zap-Datenschutz</string>
|
||||||
|
<string name="zap_type_section_explainer">Legt fest, wie deine Identität beim Senden eines Zaps angezeigt wird.</string>
|
||||||
|
<string name="wallet_connect_connect_app">Wallet verbinden</string>
|
||||||
|
<string name="see_relay_feed">Relay-Feed anzeigen</string>
|
||||||
<string name="pledge_amount_in_sats">Spendenbetrag in Sats</string>
|
<string name="pledge_amount_in_sats">Spendenbetrag in Sats</string>
|
||||||
<string name="post_poll">Umfrage veröffentlichen</string>
|
<string name="post_poll">Umfrage veröffentlichen</string>
|
||||||
<string name="poll_heading_required">Erforderliche Felder:</string>
|
<string name="poll_heading_required">Erforderliche Felder:</string>
|
||||||
@@ -663,6 +672,7 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="read_from_relay_description">Die Menge in Bytes, die von diesem Relais empfangen wurde, einschließlich Filter und Ereignisse</string>
|
<string name="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="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="owner">Inhaber</string>
|
||||||
|
<string name="used_by">Verwendet von</string>
|
||||||
<string name="self">Service-Schlüssel</string>
|
<string name="self">Service-Schlüssel</string>
|
||||||
<string name="running_software">%1$s wird ausgeführt</string>
|
<string name="running_software">%1$s wird ausgeführt</string>
|
||||||
<string name="running_software_version">%1$s wird ausgeführt (%2$s)</string>
|
<string name="running_software_version">%1$s wird ausgeführt (%2$s)</string>
|
||||||
@@ -858,6 +868,7 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="load_image_description">Wann Bilder geladen werden sollen</string>
|
<string name="load_image_description">Wann Bilder geladen werden sollen</string>
|
||||||
<string name="copy_stack_to_clipboard">Stapel kopieren</string>
|
<string name="copy_stack_to_clipboard">Stapel kopieren</string>
|
||||||
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
|
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
|
||||||
|
<string name="copy_nprofile_to_clipboard">nprofile in die Zwischenablage kopieren</string>
|
||||||
<string name="copy_npub_to_clipboard">Npub in Zwischenablage kopieren</string>
|
<string name="copy_npub_to_clipboard">Npub in Zwischenablage kopieren</string>
|
||||||
<string name="share_or_save">Teilen oder Speichern</string>
|
<string name="share_or_save">Teilen oder Speichern</string>
|
||||||
<string name="copy_url_to_clipboard">URL in die Zwischenablage kopieren</string>
|
<string name="copy_url_to_clipboard">URL in die Zwischenablage kopieren</string>
|
||||||
@@ -1081,6 +1092,7 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="add_content_warning">Inhaltswarnung hinzufügen</string>
|
<string name="add_content_warning">Inhaltswarnung hinzufügen</string>
|
||||||
<string name="remove_content_warning">Inhaltswarnung entfernen</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="show_npub_as_a_qr_code">Npub als QR-Code anzeigen</string>
|
||||||
|
<string name="show_nprofile_as_a_qr_code">nprofile als QR-Code anzeigen</string>
|
||||||
<string name="invalid_nip19_uri">Ungültige Adresse</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="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_title">DM Posteingangs-Relais</string>
|
||||||
@@ -1463,16 +1475,4 @@ anz der Bedingungen ist erforderlich</string>
|
|||||||
<string name="kind_voice_msg">Sprachnachricht</string>
|
<string name="kind_voice_msg">Sprachnachricht</string>
|
||||||
<string name="kind_voice_reply">Sprachantwort</string>
|
<string name="kind_voice_reply">Sprachantwort</string>
|
||||||
<string name="kind_wiki">Wiki</string>
|
<string name="kind_wiki">Wiki</string>
|
||||||
<string name="see_relay_feed">Relay-Feed anzeigen</string>
|
|
||||||
<string name="used_by">Verwendet von</string>
|
|
||||||
<string name="copy_nprofile_to_clipboard">nprofile in die Zwischenablage kopieren</string>
|
|
||||||
<string name="show_nprofile_as_a_qr_code">nprofile als QR-Code anzeigen</string>
|
|
||||||
<string name="quick_zap_amounts_explainer">Wird beim Drücken der Zap-Schaltfläche angezeigt. Tippe auf einen Betrag, um ihn zu entfernen. Wenn du es leer lässt, wird jedes Mal ein Dialog zur Eingabe eines Betrags geöffnet.</string>
|
|
||||||
<string name="wallet_connect_status_connected">Verbunden</string>
|
|
||||||
<string name="wallet_connect_status_not_connected">Nicht verbunden</string>
|
|
||||||
<string name="wallet_connect_manual_config">Erweitert: Verbindungsdetails manuell eingeben</string>
|
|
||||||
<string name="quick_zap_amounts">Schnelle Zap-Beträge</string>
|
|
||||||
<string name="zap_privacy_section">Zap-Datenschutz</string>
|
|
||||||
<string name="zap_type_section_explainer">Legt fest, wie deine Identität beim Senden eines Zaps angezeigt wird.</string>
|
|
||||||
<string name="wallet_connect_connect_app">Wallet verbinden</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -867,6 +867,7 @@
|
|||||||
<string name="load_image_description">Mikor töltse be a képeket</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_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_to_clipboard">Másolás a vágólapra</string>
|
||||||
|
<string name="copy_nprofile_to_clipboard">nprofile-kulcs vágólapra másolása</string>
|
||||||
<string name="copy_npub_to_clipboard">Npub másolása a vágólapra</string>
|
<string name="copy_npub_to_clipboard">Npub másolása a vágólapra</string>
|
||||||
<string name="share_or_save">Megosztás vagy mentés</string>
|
<string name="share_or_save">Megosztás vagy mentés</string>
|
||||||
<string name="copy_url_to_clipboard">Webcím másolása a vágólapra</string>
|
<string name="copy_url_to_clipboard">Webcím másolása a vágólapra</string>
|
||||||
@@ -1056,6 +1057,19 @@
|
|||||||
<string name="like_description">Tetszik</string>
|
<string name="like_description">Tetszik</string>
|
||||||
<string name="zap_description">Zap</string>
|
<string name="zap_description">Zap</string>
|
||||||
<string name="change_reaction">Gyors reakciók megváltoztatása</string>
|
<string name="change_reaction">Gyors reakciók megváltoztatása</string>
|
||||||
|
<string name="reactions_settings">Reakciósor</string>
|
||||||
|
<string name="reactions_settings_description">Állítsa be, hogy mely reakciógombok jelenjenek meg, azok sorrendjét, valamint a számlálók megjelenítését.</string>
|
||||||
|
<string name="reactions_settings_enabled">Engedélyezve</string>
|
||||||
|
<string name="reactions_settings_show_counter">Számláló megjelenítése</string>
|
||||||
|
<string name="reactions_settings_reorder">Újrarendezés</string>
|
||||||
|
<string name="reactions_settings_reply">Válasz</string>
|
||||||
|
<string name="reactions_settings_reply_description">Válasz erre a bejegyzésre</string>
|
||||||
|
<string name="reactions_settings_boost">Megtolás</string>
|
||||||
|
<string name="reactions_settings_like_description">Reagálás erre a bejegyzésre egy hangulatjellel</string>
|
||||||
|
<string name="reactions_settings_zap">Zap</string>
|
||||||
|
<string name="reactions_settings_zap_description">Lightning fizetés küldése a szerzőnek</string>
|
||||||
|
<string name="reactions_settings_share">Megosztás</string>
|
||||||
|
<string name="reactions_settings_share_description">Ennek a bejegyzésnek a megosztása külső alkalmazásban</string>
|
||||||
<string name="profile_image_of_user">%1$s profilképe</string>
|
<string name="profile_image_of_user">%1$s profilképe</string>
|
||||||
<string name="relay_info">%1$s átjátszó</string>
|
<string name="relay_info">%1$s átjátszó</string>
|
||||||
<string name="expand_relay_list">Átjátszólista kibontása</string>
|
<string name="expand_relay_list">Átjátszólista kibontása</string>
|
||||||
@@ -1075,6 +1089,7 @@
|
|||||||
<string name="add_content_warning">Tartalmi figyelmeztetés hozzáadá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="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="show_npub_as_a_qr_code">Az npub-kulcs megjelenítése QR-kódként</string>
|
||||||
|
<string name="show_nprofile_as_a_qr_code">nprofile-kulcs megjelenítése QR-kódként</string>
|
||||||
<string name="invalid_nip19_uri">Érvénytelen cím</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="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_title">Bejövő átjátszók a privát üzenetekhez</string>
|
||||||
@@ -1127,6 +1142,9 @@
|
|||||||
<string name="trusted_relays_title">Megbízható átjátszók</string>
|
<string name="trusted_relays_title">Megbízható átjátszók</string>
|
||||||
<string name="trusted_section">Megbízható átjátszók</string>
|
<string name="trusted_section">Megbízható átjátszók</string>
|
||||||
<string name="trusted_section_explainer">Az átjátszóknak, amelyekben megbízik, nincs szükségük Tor kapcsolatra a következőhöz:</string>
|
<string name="trusted_section_explainer">Az átjátszóknak, amelyekben megbízik, nincs szükségük Tor kapcsolatra a következőhöz:</string>
|
||||||
|
<string name="favorite_relays_title">Kedvenc átjátszó-hírforrások</string>
|
||||||
|
<string name="favorite_section">Kedvenc átjátszó-hírforrások</string>
|
||||||
|
<string name="favorite_section_explainer">Átjátszók, amelyeket gyakran felkeres a globális hírfolyamuk megtekintéséhez</string>
|
||||||
<string name="proxy_relays_title">Proxyzott átjátszók</string>
|
<string name="proxy_relays_title">Proxyzott átjátszók</string>
|
||||||
<string name="proxy_section">Proxyzott átjátszók</string>
|
<string name="proxy_section">Proxyzott átjátszók</string>
|
||||||
<string name="proxy_section_explainer">Összesítő átjátszók, amelyeket az alkalmazásnak használnia kell a hírfolyamok letöltéséhez, például filter.nostr.wine. Ez helyettesíti a kimeneti modellt, és az alkalmazás csak a listákban szereplő átjátszókhoz fog csatlakozni.</string>
|
<string name="proxy_section_explainer">Összesítő átjátszók, amelyeket az alkalmazásnak használnia kell a hírfolyamok letöltéséhez, például filter.nostr.wine. Ez helyettesíti a kimeneti modellt, és az alkalmazás csak a listákban szereplő átjátszókhoz fog csatlakozni.</string>
|
||||||
@@ -1172,6 +1190,7 @@
|
|||||||
<string name="accessibility_pushpin">Kapcsolatrögzítő (Pushpin)</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_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="accessibility_navigate_to_alby">Harmadik féltől származó pénztárca-szolgáltató felkeresése: Alby</string>
|
||||||
|
<string name="accessibility_select_date">Dátum kiválasztása</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_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_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>
|
<string name="it_s_not_possible_to_react_to_a_draft_note">A piszkozatokra nem lehet reagálni</string>
|
||||||
@@ -1308,5 +1327,36 @@
|
|||||||
<string name="confirm">Megerősítés</string>
|
<string name="confirm">Megerősítés</string>
|
||||||
<string name="next">Következő</string>
|
<string name="next">Következő</string>
|
||||||
<string name="add_poll_option_button">Szavazati lehetőség hozzáadása</string>
|
<string name="add_poll_option_button">Szavazati lehetőség hozzáadása</string>
|
||||||
|
<string name="go_back">Vissza</string>
|
||||||
|
<string name="approve">Elfogadás</string>
|
||||||
|
<string name="connected">Kapcsolódva</string>
|
||||||
|
<string name="social_proof">Közösségi megerősítés</string>
|
||||||
|
<string name="poll_submit">Beküldés</string>
|
||||||
|
<string name="restart">Újraindítás</string>
|
||||||
|
<string name="chess_accept">Elfogadás</string>
|
||||||
|
<string name="chess_decline">Elutasítás</string>
|
||||||
|
<string name="chess_new_game">Új játék</string>
|
||||||
|
<string name="new_chess_game">Új sakkjáték</string>
|
||||||
|
<string name="chess_loading_game">Játék betöltése\u2026</string>
|
||||||
|
<string name="chess_game_not_found">Nem található játék</string>
|
||||||
|
<string name="chess_game_waiting">Ez a játék már véget ért, vagy ellenfelet vár.</string>
|
||||||
|
<string name="chess_game_id">Játékazonosító: %1$s\u2026</string>
|
||||||
|
<string name="badge_and_n_others"> és %1$d további</string>
|
||||||
|
<string name="remove_language">%1$s eltávolítása</string>
|
||||||
<!-- Kind display names for relay subscription filter chips -->
|
<!-- Kind display names for relay subscription filter chips -->
|
||||||
|
<string name="kind_outbox_relays">Kimenő átjátszók</string>
|
||||||
|
<string name="kind_apps">Alkalmazások</string>
|
||||||
|
<string name="kind_app_recommendations">Ajánlott alkalmazások </string>
|
||||||
|
<string name="kind_user_settings">Felhasználói beállítások</string>
|
||||||
|
<string name="kind_audio_header">Audio-fejléc</string>
|
||||||
|
<string name="kind_audio_track">Hangsáv</string>
|
||||||
|
<string name="kind_badge_awards">Jelvénydíjak</string>
|
||||||
|
<string name="kind_badge_definitions">Jelvények meghatározása</string>
|
||||||
|
<string name="kind_profile_badges">Profiljelvények</string>
|
||||||
|
<string name="kind_blocked_relays">Letiltott átjátszók</string>
|
||||||
|
<string name="kind_blossom_servers">Blossom kiszolgálók</string>
|
||||||
|
<string name="kind_blossom_auth">Blossom-hitelesítés</string>
|
||||||
|
<string name="kind_broadcast_relays">Közvetítési átjátszók</string>
|
||||||
|
<string name="kind_bookmark_list">Könyvjelzőlista</string>
|
||||||
|
<string name="kind_day_appointment">Napi bejegyzés</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -419,6 +419,15 @@
|
|||||||
<string name="wallet_connect_service_secret">Segredo do Wallet Connect</string>
|
<string name="wallet_connect_service_secret">Segredo do Wallet Connect</string>
|
||||||
<string name="wallet_connect_service_show_secret">Mostrar chave secreta</string>
|
<string name="wallet_connect_service_show_secret">Mostrar chave secreta</string>
|
||||||
<string name="wallet_connect_service_secret_placeholder">chave privada nsec / hex</string>
|
<string name="wallet_connect_service_secret_placeholder">chave privada nsec / hex</string>
|
||||||
|
<string name="wallet_connect_status_connected">Conectado</string>
|
||||||
|
<string name="wallet_connect_status_not_connected">Não conectado</string>
|
||||||
|
<string name="wallet_connect_manual_config">Avançado: inserir detalhes de conexão manualmente</string>
|
||||||
|
<string name="quick_zap_amounts">Valores Rápidos de Zap</string>
|
||||||
|
<string name="quick_zap_amounts_explainer">Exibido ao pressionar o botão de zap. Toque em um valor para removê-lo. Se deixar vazio, abrirá o diálogo para inserir um valor todas as vezes.</string>
|
||||||
|
<string name="zap_privacy_section">Privacidade do Zap</string>
|
||||||
|
<string name="zap_type_section_explainer">Controla como sua identidade é exibida ao enviar um Zap.</string>
|
||||||
|
<string name="wallet_connect_connect_app">Conectar Carteira</string>
|
||||||
|
<string name="see_relay_feed">Ver feed do Relay</string>
|
||||||
<string name="pledge_amount_in_sats">Valor em Sats</string>
|
<string name="pledge_amount_in_sats">Valor em Sats</string>
|
||||||
<string name="post_poll">Postar enquete</string>
|
<string name="post_poll">Postar enquete</string>
|
||||||
<string name="poll_heading_required">Campos obrigatórios:</string>
|
<string name="poll_heading_required">Campos obrigatórios:</string>
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
<string name="read_from_relay_description">A quantidade em bytes que foi recebida deste relé, incluindo filtros e eventos</string>
|
<string name="read_from_relay_description">A quantidade em bytes que foi recebida deste relé, incluindo filtros e eventos</string>
|
||||||
<string name="an_error_occurred_trying_to_get_relay_information">Ocorreu um erro ao tentar obter informações do relay de %1$s</string>
|
<string name="an_error_occurred_trying_to_get_relay_information">Ocorreu um erro ao tentar obter informações do relay de %1$s</string>
|
||||||
<string name="owner">Proprietário</string>
|
<string name="owner">Proprietário</string>
|
||||||
|
<string name="used_by">Usado por</string>
|
||||||
<string name="self">Chave de serviço</string>
|
<string name="self">Chave de serviço</string>
|
||||||
<string name="running_software">Executando %1$s</string>
|
<string name="running_software">Executando %1$s</string>
|
||||||
<string name="running_software_version">Executando %1$s (%2$s)</string>
|
<string name="running_software_version">Executando %1$s (%2$s)</string>
|
||||||
@@ -853,6 +863,7 @@
|
|||||||
<string name="load_image_description">Quando carregar imagens</string>
|
<string name="load_image_description">Quando carregar imagens</string>
|
||||||
<string name="copy_stack_to_clipboard">Copiar a Pilha</string>
|
<string name="copy_stack_to_clipboard">Copiar a Pilha</string>
|
||||||
<string name="copy_to_clipboard">Copiar para a Área de Transferência</string>
|
<string name="copy_to_clipboard">Copiar para a Área de Transferência</string>
|
||||||
|
<string name="copy_nprofile_to_clipboard">Copiar nprofile para a área de transferência</string>
|
||||||
<string name="copy_npub_to_clipboard">Copiar npub para a área de transferência</string>
|
<string name="copy_npub_to_clipboard">Copiar npub para a área de transferência</string>
|
||||||
<string name="share_or_save">Compartilhar ou Salvar</string>
|
<string name="share_or_save">Compartilhar ou Salvar</string>
|
||||||
<string name="copy_url_to_clipboard">Copiar URL para a área de transferência</string>
|
<string name="copy_url_to_clipboard">Copiar URL para a área de transferência</string>
|
||||||
@@ -1076,6 +1087,7 @@
|
|||||||
<string name="add_content_warning">Adicionar aviso de conteúdo</string>
|
<string name="add_content_warning">Adicionar aviso de conteúdo</string>
|
||||||
<string name="remove_content_warning">Remover aviso de conteúdo</string>
|
<string name="remove_content_warning">Remover aviso de conteúdo</string>
|
||||||
<string name="show_npub_as_a_qr_code">Mostrar npub como um código QR</string>
|
<string name="show_npub_as_a_qr_code">Mostrar npub como um código QR</string>
|
||||||
|
<string name="show_nprofile_as_a_qr_code">Mostrar nprofile como QR code</string>
|
||||||
<string name="invalid_nip19_uri">Endereço inválido</string>
|
<string name="invalid_nip19_uri">Endereço inválido</string>
|
||||||
<string name="invalid_nip19_uri_description">O Amethyst recebeu um URI para abrir, mas esse URI era inválido: %1$s</string>
|
<string name="invalid_nip19_uri_description">O Amethyst recebeu um URI para abrir, mas esse URI era inválido: %1$s</string>
|
||||||
<string name="dm_relays_title">Relés da Caixa de Entrada de DM</string>
|
<string name="dm_relays_title">Relés da Caixa de Entrada de DM</string>
|
||||||
@@ -1458,16 +1470,4 @@
|
|||||||
<string name="kind_voice_msg">Mensagem de voz</string>
|
<string name="kind_voice_msg">Mensagem de voz</string>
|
||||||
<string name="kind_voice_reply">Resposta de voz</string>
|
<string name="kind_voice_reply">Resposta de voz</string>
|
||||||
<string name="kind_wiki">Wiki</string>
|
<string name="kind_wiki">Wiki</string>
|
||||||
<string name="see_relay_feed">Ver feed do Relay</string>
|
|
||||||
<string name="used_by">Usado por</string>
|
|
||||||
<string name="copy_nprofile_to_clipboard">Copiar nprofile para a área de transferência</string>
|
|
||||||
<string name="show_nprofile_as_a_qr_code">Mostrar nprofile como QR code</string>
|
|
||||||
<string name="quick_zap_amounts_explainer">Exibido ao pressionar o botão de zap. Toque em um valor para removê-lo. Se deixar vazio, abrirá o diálogo para inserir um valor todas as vezes.</string>
|
|
||||||
<string name="wallet_connect_status_connected">Conectado</string>
|
|
||||||
<string name="wallet_connect_status_not_connected">Não conectado</string>
|
|
||||||
<string name="wallet_connect_manual_config">Avançado: inserir detalhes de conexão manualmente</string>
|
|
||||||
<string name="quick_zap_amounts">Valores Rápidos de Zap</string>
|
|
||||||
<string name="zap_privacy_section">Privacidade do Zap</string>
|
|
||||||
<string name="zap_type_section_explainer">Controla como sua identidade é exibida ao enviar um Zap.</string>
|
|
||||||
<string name="wallet_connect_connect_app">Conectar Carteira</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -419,6 +419,15 @@
|
|||||||
<string name="wallet_connect_service_secret">Wallet Connect hemlighet</string>
|
<string name="wallet_connect_service_secret">Wallet Connect hemlighet</string>
|
||||||
<string name="wallet_connect_service_show_secret">Visa secret key</string>
|
<string name="wallet_connect_service_show_secret">Visa secret key</string>
|
||||||
<string name="wallet_connect_service_secret_placeholder">nsec / hex privat nyckel</string>
|
<string name="wallet_connect_service_secret_placeholder">nsec / hex privat nyckel</string>
|
||||||
|
<string name="wallet_connect_status_connected">Ansluten</string>
|
||||||
|
<string name="wallet_connect_status_not_connected">Inte ansluten</string>
|
||||||
|
<string name="wallet_connect_manual_config">Avancerat: ange anslutningsinformation manuellt</string>
|
||||||
|
<string name="quick_zap_amounts">Snabba Zap-belopp</string>
|
||||||
|
<string name="quick_zap_amounts_explainer">Visas när du trycker på Zap-knappen. Tryck på ett belopp för att ta bort det. Om du lämnar det tomt öppnas en dialog för att ange ett belopp varje gång.</string>
|
||||||
|
<string name="zap_privacy_section">Zap-sekretess</string>
|
||||||
|
<string name="zap_type_section_explainer">Styr hur din identitet visas när du skickar ett Zap.</string>
|
||||||
|
<string name="wallet_connect_connect_app">Anslut plånbok</string>
|
||||||
|
<string name="see_relay_feed">Visa relä-flöde</string>
|
||||||
<string name="pledge_amount_in_sats">Pantbelopp i Sats</string>
|
<string name="pledge_amount_in_sats">Pantbelopp i Sats</string>
|
||||||
<string name="post_poll">Dela Poll</string>
|
<string name="post_poll">Dela Poll</string>
|
||||||
<string name="poll_heading_required">Obligatoriska fält:</string>
|
<string name="poll_heading_required">Obligatoriska fält:</string>
|
||||||
@@ -657,6 +666,7 @@
|
|||||||
<string name="read_from_relay_description">Mängden data i byte som mottogs från detta relä, inklusive filter och händelser</string>
|
<string name="read_from_relay_description">Mängden data i byte som mottogs från detta relä, inklusive filter och händelser</string>
|
||||||
<string name="an_error_occurred_trying_to_get_relay_information">Ett fel inträffade vid försök att hämta information från Relay %1$s</string>
|
<string name="an_error_occurred_trying_to_get_relay_information">Ett fel inträffade vid försök att hämta information från Relay %1$s</string>
|
||||||
<string name="owner">Ägare</string>
|
<string name="owner">Ägare</string>
|
||||||
|
<string name="used_by">Används av</string>
|
||||||
<string name="self">Service-nyckel</string>
|
<string name="self">Service-nyckel</string>
|
||||||
<string name="running_software">Kör %1$s</string>
|
<string name="running_software">Kör %1$s</string>
|
||||||
<string name="running_software_version">Kör %1$s (%2$s)</string>
|
<string name="running_software_version">Kör %1$s (%2$s)</string>
|
||||||
@@ -852,6 +862,7 @@
|
|||||||
<string name="load_image_description">När bilder ska laddas</string>
|
<string name="load_image_description">När bilder ska laddas</string>
|
||||||
<string name="copy_stack_to_clipboard">Kopiera stacken</string>
|
<string name="copy_stack_to_clipboard">Kopiera stacken</string>
|
||||||
<string name="copy_to_clipboard">Kopiera till Urklipp</string>
|
<string name="copy_to_clipboard">Kopiera till Urklipp</string>
|
||||||
|
<string name="copy_nprofile_to_clipboard">Kopiera nprofile till urklipp</string>
|
||||||
<string name="copy_npub_to_clipboard">Kopiera npub till urklipp</string>
|
<string name="copy_npub_to_clipboard">Kopiera npub till urklipp</string>
|
||||||
<string name="share_or_save">Dela eller Spara</string>
|
<string name="share_or_save">Dela eller Spara</string>
|
||||||
<string name="copy_url_to_clipboard">Kopiera URL till urklipp</string>
|
<string name="copy_url_to_clipboard">Kopiera URL till urklipp</string>
|
||||||
@@ -1075,6 +1086,7 @@
|
|||||||
<string name="add_content_warning">Lägg till varning för innehåll</string>
|
<string name="add_content_warning">Lägg till varning för innehåll</string>
|
||||||
<string name="remove_content_warning">Ta bort varning för innehåll</string>
|
<string name="remove_content_warning">Ta bort varning för innehåll</string>
|
||||||
<string name="show_npub_as_a_qr_code">Visa npub som en QR-kod</string>
|
<string name="show_npub_as_a_qr_code">Visa npub som en QR-kod</string>
|
||||||
|
<string name="show_nprofile_as_a_qr_code">Visa nprofile som QR-kod</string>
|
||||||
<string name="invalid_nip19_uri">Ogiltig adress</string>
|
<string name="invalid_nip19_uri">Ogiltig adress</string>
|
||||||
<string name="invalid_nip19_uri_description">Amethyst fick en URI att öppna men den URI var ogiltig: %1$s</string>
|
<string name="invalid_nip19_uri_description">Amethyst fick en URI att öppna men den URI var ogiltig: %1$s</string>
|
||||||
<string name="dm_relays_title">DM Inkorg Reläer</string>
|
<string name="dm_relays_title">DM Inkorg Reläer</string>
|
||||||
@@ -1457,16 +1469,4 @@
|
|||||||
<string name="kind_voice_msg">Röstmeddelande</string>
|
<string name="kind_voice_msg">Röstmeddelande</string>
|
||||||
<string name="kind_voice_reply">Röstsvar</string>
|
<string name="kind_voice_reply">Röstsvar</string>
|
||||||
<string name="kind_wiki">Wiki</string>
|
<string name="kind_wiki">Wiki</string>
|
||||||
<string name="see_relay_feed">Visa relä-flöde</string>
|
|
||||||
<string name="used_by">Används av</string>
|
|
||||||
<string name="copy_nprofile_to_clipboard">Kopiera nprofile till urklipp</string>
|
|
||||||
<string name="show_nprofile_as_a_qr_code">Visa nprofile som QR-kod</string>
|
|
||||||
<string name="quick_zap_amounts_explainer">Visas när du trycker på Zap-knappen. Tryck på ett belopp för att ta bort det. Om du lämnar det tomt öppnas en dialog för att ange ett belopp varje gång.</string>
|
|
||||||
<string name="wallet_connect_status_connected">Ansluten</string>
|
|
||||||
<string name="wallet_connect_status_not_connected">Inte ansluten</string>
|
|
||||||
<string name="wallet_connect_manual_config">Avancerat: ange anslutningsinformation manuellt</string>
|
|
||||||
<string name="quick_zap_amounts">Snabba Zap-belopp</string>
|
|
||||||
<string name="zap_privacy_section">Zap-sekretess</string>
|
|
||||||
<string name="zap_type_section_explainer">Styr hur din identitet visas när du skickar ett Zap.</string>
|
|
||||||
<string name="wallet_connect_connect_app">Anslut plånbok</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -170,6 +170,7 @@
|
|||||||
<string name="video_saved_to_the_gallery">Video saved to the phone\'s video gallery</string>
|
<string name="video_saved_to_the_gallery">Video saved to the phone\'s video gallery</string>
|
||||||
<string name="failed_to_save_the_video">Failed to save the video</string>
|
<string name="failed_to_save_the_video">Failed to save the video</string>
|
||||||
<string name="upload_image">Upload Image</string>
|
<string name="upload_image">Upload Image</string>
|
||||||
|
<string name="upload_file">Upload File</string>
|
||||||
<string name="take_a_picture">Take a picture</string>
|
<string name="take_a_picture">Take a picture</string>
|
||||||
<string name="record_a_video">Record a video</string>
|
<string name="record_a_video">Record a video</string>
|
||||||
<string name="record_a_message">Record a message</string>
|
<string name="record_a_message">Record a message</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user