Merge branch 'master' into master-ios

This commit is contained in:
spaced4ndy
2023-04-19 15:21:51 +04:00
66 changed files with 1473 additions and 516 deletions

View File

@@ -11,8 +11,8 @@ android {
applicationId "chat.simplex.app"
minSdk 26
targetSdk 32
versionCode 114
versionName "5.0-beta.0"
versionCode 116
versionName "5.0-beta.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {

View File

@@ -153,8 +153,6 @@ class AppPreferences(val context: Context) {
val whatsNewVersion = mkStrPreference(SHARED_PREFS_WHATS_NEW_VERSION, null)
val xftpSendEnabled = mkBoolPreference(SHARED_PREFS_XFTP_SEND_ENABLED, false)
private fun mkIntPreference(prefName: String, default: Int) =
SharedPreference(
get = fun() = sharedPreferences.getInt(prefName, default),
@@ -264,7 +262,6 @@ class AppPreferences(val context: Context) {
private const val SHARED_PREFS_CURRENT_THEME = "CurrentTheme"
private const val SHARED_PREFS_PRIMARY_COLOR = "PrimaryColor"
private const val SHARED_PREFS_WHATS_NEW_VERSION = "WhatsNewVersion"
private const val SHARED_PREFS_XFTP_SEND_ENABLED = "XFTPSendEnabled"
}
}

View File

@@ -27,3 +27,4 @@ val WarningOrange = Color(255, 127, 0, 255)
val WarningYellow = Color(255, 192, 0, 255)
val FileLight = Color(183, 190, 199, 255)
val FileDark = Color(101, 101, 106, 255)
val MenuTextColorDark = Color.White.copy(alpha = 0.8f)

View File

@@ -28,7 +28,7 @@ val DarkColorPalette = darkColors(
// surface = Color.Black,
// background = Color(0xFF121212),
// surface = Color(0xFF121212),
// error = Color(0xFFCF6679),
error = Color.Red,
onBackground = Color(0xFFFFFBFA),
onSurface = Color(0xFFFFFBFA),
// onError: Color = Color.Black,
@@ -37,6 +37,7 @@ val LightColorPalette = lightColors(
primary = SimplexBlue, // If this value changes also need to update #0088ff in string resource files
primaryVariant = SimplexGreen,
secondary = LightGray,
error = Color.Red,
// background = Color.White,
// surface = Color.White
// onPrimary = Color.White,

View File

@@ -378,7 +378,7 @@ fun ChatInfoToolbar(
onSearchValueChanged: (String) -> Unit,
) {
val scope = rememberCoroutineScope()
var showMenu by rememberSaveable { mutableStateOf(false) }
val showMenu = rememberSaveable { mutableStateOf(false) }
var showSearch by rememberSaveable { mutableStateOf(false) }
val onBackClicked = {
if (!showSearch) {
@@ -393,7 +393,7 @@ fun ChatInfoToolbar(
val menuItems = arrayListOf<@Composable () -> Unit>()
menuItems.add {
ItemAction(stringResource(android.R.string.search_go).capitalize(Locale.current), Icons.Outlined.Search, onClick = {
showMenu = false
showMenu.value = false
showSearch = true
})
}
@@ -401,7 +401,7 @@ fun ChatInfoToolbar(
if (chat.chatInfo is ChatInfo.Direct && chat.chatInfo.contact.allowsFeature(ChatFeature.Calls)) {
barButtons.add {
IconButton({
showMenu = false
showMenu.value = false
startCall(CallMediaType.Audio)
}) {
Icon(Icons.Outlined.Phone, stringResource(R.string.icon_descr_more_button), tint = MaterialTheme.colors.primary)
@@ -409,14 +409,14 @@ fun ChatInfoToolbar(
}
menuItems.add {
ItemAction(stringResource(R.string.icon_descr_video_call).capitalize(Locale.current), Icons.Outlined.Videocam, onClick = {
showMenu = false
showMenu.value = false
startCall(CallMediaType.Video)
})
}
} else if (chat.chatInfo is ChatInfo.Group && chat.chatInfo.groupInfo.canAddMembers && !chat.chatInfo.incognito) {
barButtons.add {
IconButton({
showMenu = false
showMenu.value = false
addMembers(chat.chatInfo.groupInfo)
}) {
Icon(Icons.Outlined.PersonAdd, stringResource(R.string.icon_descr_add_members), tint = MaterialTheme.colors.primary)
@@ -429,7 +429,7 @@ fun ChatInfoToolbar(
if (ntfsEnabled.value) stringResource(R.string.mute_chat) else stringResource(R.string.unmute_chat),
if (ntfsEnabled.value) Icons.Outlined.NotificationsOff else Icons.Outlined.Notifications,
onClick = {
showMenu = false
showMenu.value = false
// Just to make a delay before changing state of ntfsEnabled, otherwise it will redraw menu item with new value before closing the menu
scope.launch {
delay(200)
@@ -440,7 +440,7 @@ fun ChatInfoToolbar(
}
barButtons.add {
IconButton({ showMenu = true }) {
IconButton({ showMenu.value = true }) {
Icon(Icons.Default.MoreVert, stringResource(R.string.icon_descr_more_button), tint = MaterialTheme.colors.primary)
}
}
@@ -457,11 +457,7 @@ fun ChatInfoToolbar(
Divider(Modifier.padding(top = AppBarHeight))
Box(Modifier.fillMaxWidth().wrapContentSize(Alignment.TopEnd).offset(y = AppBarHeight)) {
DropdownMenu(
expanded = showMenu,
onDismissRequest = { showMenu = false },
Modifier.widthIn(min = 220.dp)
) {
DefaultDropdownMenu(showMenu) {
menuItems.forEach { it() }
}
}
@@ -788,36 +784,27 @@ fun BoxWithConstraintsScope.FloatingButtons(
}
val showButtonWithCounter = topUnreadCount > 0
val height = with(LocalDensity.current) { maxHeight.toPx() }
var showDropDown by remember { mutableStateOf(false) }
val showDropDown = remember { mutableStateOf(false) }
TopEndFloatingButton(
Modifier.padding(end = 16.dp, top = 24.dp).align(Alignment.TopEnd),
topUnreadCount,
showButtonWithCounter,
onClick = { scope.launch { listState.animateScrollBy(height) } },
onLongClick = { showDropDown = true }
onLongClick = { showDropDown.value = true }
)
DropdownMenu(
expanded = showDropDown,
onDismissRequest = { showDropDown = false },
Modifier.width(220.dp),
offset = DpOffset(maxWidth - 16.dp, 24.dp + fabSize)
) {
DropdownMenuItem(
DefaultDropdownMenu(showDropDown, offset = DpOffset(maxWidth - 16.dp, 24.dp + fabSize)) {
ItemAction(
generalGetString(R.string.mark_read),
Icons.Outlined.Check,
onClick = {
markRead(
CC.ItemRange(minUnreadItemId, chatItems[chatItems.size - listState.layoutInfo.visibleItemsInfo.lastIndex - 1].id - 1),
bottomUnreadCount
)
showDropDown = false
}
) {
Text(
generalGetString(R.string.mark_read),
maxLines = 1,
)
}
showDropDown.value = false
})
}
}

View File

@@ -14,6 +14,7 @@ import android.os.Build
import android.provider.MediaStore
import android.webkit.MimeTypeMap
import android.widget.Toast
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContract
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
@@ -179,8 +180,7 @@ fun ComposeView(
val pendingLinkUrl = rememberSaveable { mutableStateOf<String?>(null) }
val cancelledLinks = rememberSaveable { mutableSetOf<String>() }
val useLinkPreviews = chatModel.controller.appPrefs.privacyLinkPreviews.get()
val xftpSendEnabled = chatModel.controller.appPrefs.xftpSendEnabled.get()
val maxFileSize = getMaxFileSize(fileProtocol = if (xftpSendEnabled) FileProtocol.XFTP else FileProtocol.SMP)
val maxFileSize = getMaxFileSize(FileProtocol.XFTP)
val smallFont = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.onBackground)
val textStyle = remember { mutableStateOf(smallFont) }
val cameraLauncher = rememberCameraLauncher { uri: Uri? ->
@@ -261,13 +261,17 @@ fun ComposeView(
}
}
}
val mediaLauncherWithFiles = rememberGetMultipleContentsLauncher { processPickedMedia(it, null) }
val galleryImageLauncher = rememberLauncherForActivityResult(contract = PickMultipleImagesFromGallery()) { processPickedMedia(it, null) }
val galleryImageLauncherFallback = rememberGetMultipleContentsLauncher { processPickedMedia(it, null) }
val galleryVideoLauncher = rememberLauncherForActivityResult(contract = PickMultipleVideosFromGallery()) { processPickedMedia(it, null) }
val galleryVideoLauncherFallback = rememberGetMultipleContentsLauncher { processPickedMedia(it, null) }
val filesLauncher = rememberGetContentLauncher { processPickedFile(it, null) }
val recState: MutableState<RecordingState> = remember { mutableStateOf(RecordingState.NotStarted) }
LaunchedEffect(attachmentOption.value) {
when (attachmentOption.value) {
AttachmentOption.TakePhoto -> {
AttachmentOption.CameraPhoto -> {
when (PackageManager.PERMISSION_GRANTED) {
ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) -> {
cameraLauncher.launchWithFallback()
@@ -278,11 +282,23 @@ fun ComposeView(
}
attachmentOption.value = null
}
AttachmentOption.PickMedia -> {
mediaLauncherWithFiles.launch(if (xftpSendEnabled) "image/*;video/*" else "image/*")
AttachmentOption.GalleryImage -> {
try {
galleryImageLauncher.launch(0)
} catch (e: ActivityNotFoundException) {
galleryImageLauncherFallback.launch("image/*")
}
attachmentOption.value = null
}
AttachmentOption.PickFile -> {
AttachmentOption.GalleryVideo -> {
try {
galleryVideoLauncher.launch(0)
} catch (e: ActivityNotFoundException) {
galleryVideoLauncherFallback.launch("video/*")
}
attachmentOption.value = null
}
AttachmentOption.File -> {
filesLauncher.launch("*/*")
attachmentOption.value = null
}

View File

@@ -155,20 +155,18 @@ fun SendMsgView(
cs.contextItem is ComposeContextItem.NoContextItem &&
sendLiveMessage != null && updateLiveMessage != null
) {
var showDropdown by rememberSaveable { mutableStateOf(false) }
SendMsgButton(icon, sendButtonSize, sendButtonAlpha, !disabled, sendMessage) { showDropdown = true }
val showDropdown = rememberSaveable { mutableStateOf(false) }
SendMsgButton(icon, sendButtonSize, sendButtonAlpha, !disabled, sendMessage) { showDropdown.value = true }
DropdownMenu(
expanded = showDropdown,
onDismissRequest = { showDropdown = false },
Modifier.width(220.dp),
DefaultDropdownMenu(
showDropdown,
) {
ItemAction(
generalGetString(R.string.send_live_message),
Icons.Filled.Bolt,
onClick = {
startLiveMessage(scope, sendLiveMessage, updateLiveMessage, sendButtonSize, sendButtonAlpha, composeState, liveMessageAlertShown)
showDropdown = false
showDropdown.value = false
}
)
}

View File

@@ -22,8 +22,7 @@ import androidx.compose.ui.unit.dp
import chat.simplex.app.*
import chat.simplex.app.R
import chat.simplex.app.model.*
import chat.simplex.app.ui.theme.HighOrLowlight
import chat.simplex.app.ui.theme.SimpleXTheme
import chat.simplex.app.ui.theme.*
import chat.simplex.app.views.chat.ComposeContextItem
import chat.simplex.app.views.chat.ComposeState
import chat.simplex.app.views.helpers.*
@@ -105,11 +104,7 @@ fun ChatItemView(
@Composable
fun MsgContentItemDropdownMenu() {
DropdownMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
Modifier.width(220.dp)
) {
DefaultDropdownMenu(showMenu) {
if (cItem.meta.itemDeleted == null && !live) {
ItemAction(stringResource(R.string.reply_verb), Icons.Outlined.Reply, onClick = {
if (composeState.value.editing) {
@@ -183,11 +178,7 @@ fun ChatItemView(
@Composable
fun MarkedDeletedItemDropdownMenu() {
DropdownMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
Modifier.width(220.dp)
) {
DefaultDropdownMenu(showMenu) {
if (!cItem.isDeletedContent) {
ItemAction(
stringResource(R.string.reveal_verb),
@@ -227,11 +218,7 @@ fun ChatItemView(
@Composable fun DeletedItem() {
DeletedItemView(cItem, cInfo.timedMessagesTTL, showMember = showMember)
DropdownMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
Modifier.width(220.dp)
) {
DefaultDropdownMenu(showMenu) {
DeleteItemAction(cItem, showMenu, questionText = deleteMessageQuestionText(), deleteMessage)
}
}
@@ -329,18 +316,21 @@ fun ModerateItemAction(
}
@Composable
fun ItemAction(text: String, icon: ImageVector, onClick: () -> Unit, color: Color = MaterialTheme.colors.onBackground) {
DropdownMenuItem(onClick) {
Row {
fun ItemAction(text: String, icon: ImageVector, onClick: () -> Unit, color: Color = Color.Unspecified) {
val finalColor = if (color == Color.Unspecified) {
if (isInDarkTheme()) MenuTextColorDark else Color.Black
} else color
DropdownMenuItem(onClick, contentPadding = PaddingValues(horizontal = DEFAULT_PADDING * 1.5f)) {
Row(verticalAlignment = Alignment.CenterVertically) {
Text(
text,
modifier = Modifier
.fillMaxWidth()
.weight(1F)
.padding(end = 15.dp),
color = color
color = finalColor
)
Icon(icon, text, tint = color)
Icon(icon, text, tint = finalColor)
}
}
}
@@ -366,7 +356,7 @@ fun deleteMessageAlertDialog(chatItem: ChatItem, questionText: String, deleteMes
Modifier
.fillMaxWidth()
.padding(horizontal = 8.dp, vertical = 2.dp),
horizontalArrangement = Arrangement.End,
horizontalArrangement = Arrangement.Center,
) {
TextButton(onClick = {
deleteMessage(chatItem.id, CIDeleteMode.cidmInternal)

View File

@@ -194,26 +194,14 @@ fun MarkReadChatAction(chat: Chat, chatModel: ChatModel, showMenu: MutableState<
@Composable
fun MarkUnreadChatAction(chat: Chat, chatModel: ChatModel, showMenu: MutableState<Boolean>) {
DropdownMenuItem({
markChatUnread(chat, chatModel)
showMenu.value = false
}) {
Row {
Text(
stringResource(R.string.mark_unread),
modifier = Modifier
.fillMaxWidth()
.weight(1F)
.padding(end = 15.dp),
color = MaterialTheme.colors.onBackground
)
Icon(
Icons.Outlined.MarkChatUnread,
stringResource(R.string.mark_unread),
tint = MaterialTheme.colors.onBackground
)
ItemAction(
stringResource(R.string.mark_unread),
Icons.Outlined.MarkChatUnread,
onClick = {
markChatUnread(chat, chatModel)
showMenu.value = false
}
}
)
}
@Composable
@@ -447,7 +435,7 @@ fun contactConnectionAlertDialog(connection: PendingContactConnection, chatModel
Modifier
.fillMaxWidth()
.padding(horizontal = 8.dp, vertical = 2.dp),
horizontalArrangement = Arrangement.End,
horizontalArrangement = Arrangement.Center,
) {
TextButton(onClick = {
AlertManager.shared.hideAlert()
@@ -589,15 +577,7 @@ fun ChatListNavLinkLayout(
chatLinkPreview()
}
if (dropdownMenuItems != null) {
Box(Modifier.padding(horizontal = 16.dp)) {
DropdownMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
Modifier.width(220.dp)
) {
dropdownMenuItems()
}
}
DefaultDropdownMenu(showMenu, dropdownMenuItems = dropdownMenuItems)
}
}
Divider(Modifier.padding(horizontal = 8.dp))

View File

@@ -1,19 +1,20 @@
package chat.simplex.app.views.chatlist
import SectionItemView
import SectionItemViewSpaceBetween
import android.util.Log
import androidx.compose.animation.core.*
import androidx.compose.foundation.*
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.*
import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.*
import androidx.compose.material.icons.outlined.*
import androidx.compose.runtime.*
import androidx.compose.ui.*
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.draw.*
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.platform.LocalConfiguration
@@ -105,15 +106,16 @@ fun UserPicker(
) {
Column(
Modifier
.widthIn(min = 220.dp)
.widthIn(min = 260.dp)
.width(IntrinsicSize.Min)
.height(IntrinsicSize.Min)
.shadow(8.dp, MaterialTheme.shapes.medium, clip = false)
.background(if (isInDarkTheme()) MaterialTheme.colors.background.darker(-0.7f) else MaterialTheme.colors.background, MaterialTheme.shapes.medium)
.shadow(8.dp, RoundedCornerShape(corner = CornerSize(25.dp)), clip = true)
.background(if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background, RoundedCornerShape(corner = CornerSize(25.dp)))
.clip(RoundedCornerShape(corner = CornerSize(25.dp)))
) {
Column(Modifier.weight(1f).verticalScroll(rememberScrollState())) {
users.forEach { u ->
UserProfilePickerItem(u.user, u.unreadCount, openSettings = {
UserProfilePickerItem(u.user, u.unreadCount, PaddingValues(start = DEFAULT_PADDING, end = DEFAULT_PADDING * 2), openSettings = {
settingsClicked()
userPickerState.value = AnimatedViewState.GONE
}) {
@@ -151,7 +153,7 @@ fun UserPicker(
}
@Composable
fun UserProfilePickerItem(u: User, unreadCount: Int = 0, onLongClick: () -> Unit = {}, openSettings: () -> Unit = {}, onClick: () -> Unit) {
fun UserProfilePickerItem(u: User, unreadCount: Int = 0, padding: PaddingValues = PaddingValues(start = 8.dp, end = DEFAULT_PADDING), onLongClick: () -> Unit = {}, openSettings: () -> Unit = {}, onClick: () -> Unit) {
Row(
Modifier
.fillMaxWidth()
@@ -162,7 +164,7 @@ fun UserProfilePickerItem(u: User, unreadCount: Int = 0, onLongClick: () -> Unit
interactionSource = remember { MutableInteractionSource() },
indication = if (!u.activeUser) LocalIndication.current else null
)
.padding(PaddingValues(start = 8.dp, end = DEFAULT_PADDING)),
.padding(padding),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
) {
@@ -211,6 +213,7 @@ fun UserProfileRow(u: User) {
u.displayName,
modifier = Modifier
.padding(start = 8.dp, end = 8.dp),
color = if (isInDarkTheme()) MenuTextColorDark else Color.Black,
fontWeight = if (u.activeUser) FontWeight.Medium else FontWeight.Normal
)
}
@@ -218,24 +221,26 @@ fun UserProfileRow(u: User) {
@Composable
private fun SettingsPickerItem(onClick: () -> Unit) {
SectionItemViewSpaceBetween(onClick, minHeight = 68.dp) {
SectionItemView(onClick, padding = PaddingValues(start = DEFAULT_PADDING * 2.2f, end = DEFAULT_PADDING * 2), minHeight = 68.dp) {
val text = generalGetString(R.string.settings_section_title_settings).lowercase().capitalize(Locale.current)
Icon(Icons.Outlined.Settings, text, Modifier.size(20.dp), tint = MaterialTheme.colors.onBackground)
Spacer(Modifier.width(DEFAULT_PADDING * 1.5f))
Text(
text,
color = MaterialTheme.colors.onBackground,
color = if (isInDarkTheme()) MenuTextColorDark else Color.Black,
)
Icon(Icons.Outlined.Settings, text, Modifier.size(20.dp), tint = MaterialTheme.colors.onBackground)
}
}
@Composable
private fun CancelPickerItem(onClick: () -> Unit) {
SectionItemViewSpaceBetween(onClick, minHeight = 68.dp) {
SectionItemViewSpaceBetween(onClick, padding = PaddingValues(start = DEFAULT_PADDING * 2.2f, end = DEFAULT_PADDING * 2), minHeight = 68.dp) {
val text = generalGetString(R.string.cancel_verb)
Icon(Icons.Outlined.Close, text, Modifier.size(20.dp), tint = MaterialTheme.colors.onBackground)
Spacer(Modifier.width(DEFAULT_PADDING * 1.5f))
Text(
text,
color = MaterialTheme.colors.onBackground,
color = if (isInDarkTheme()) MenuTextColorDark else Color.Black,
)
Icon(Icons.Outlined.Close, text, Modifier.size(20.dp), tint = MaterialTheme.colors.onBackground)
}
}

View File

@@ -160,7 +160,7 @@ fun DatabaseLayout(
AppBarTitle(stringResource(R.string.your_chat_database))
SectionView(stringResource(R.string.messages_section_title).uppercase()) {
SectionItemView { TtlOptions(chatItemTTL, enabled = rememberUpdatedState(!progressIndicator && !chatDbChanged), onChatItemTTLSelected) }
SectionItemView { TtlOptions(chatItemTTL, enabled = rememberUpdatedState(!stopped && !progressIndicator), onChatItemTTLSelected) }
}
SectionTextFooter(
remember(currentUser?.displayName) {

View File

@@ -3,13 +3,14 @@ package chat.simplex.app.views.helpers
import android.util.Log
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CornerSize
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.*
import androidx.compose.ui.window.Dialog
@@ -34,13 +35,14 @@ class AlertManager {
text: String? = null,
buttons: @Composable () -> Unit,
) {
val alertText: (@Composable () -> Unit)? = if (text == null) null else { -> Text(text) }
showAlert {
AlertDialog(
backgroundColor = if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background,
onDismissRequest = this::hideAlert,
title = { Text(title) },
text = alertText,
buttons = buttons
title = alertTitle(title),
text = alertText(text),
buttons = buttons,
shape = RoundedCornerShape(corner = CornerSize(25.dp))
)
}
}
@@ -52,22 +54,21 @@ class AlertManager {
) {
showAlert {
Dialog(onDismissRequest = this::hideAlert) {
Column(Modifier.background(MaterialTheme.colors.background, MaterialTheme.shapes.medium)) {
Text(title,
Modifier.padding(start = DEFAULT_PADDING, end = DEFAULT_PADDING, top = DEFAULT_PADDING, bottom = if (text == null) DEFAULT_PADDING else DEFAULT_PADDING_HALF),
fontSize = 15.sp,
fontWeight = FontWeight.SemiBold
Column(
Modifier
.background(if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background, RoundedCornerShape(corner = CornerSize(25.dp)))
.padding(bottom = DEFAULT_PADDING)
) {
Text(
title,
Modifier.fillMaxWidth().padding(vertical = DEFAULT_PADDING),
textAlign = TextAlign.Center,
fontSize = 20.sp
)
if (text != null) {
CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.high) {
Text(
text,
Modifier.padding(start = DEFAULT_PADDING, end = DEFAULT_PADDING, bottom = DEFAULT_PADDING),
fontSize = 14.sp,
)
}
}
CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.high) {
if (text != null) {
Text(text, Modifier.fillMaxWidth().padding(start = DEFAULT_PADDING, end = DEFAULT_PADDING, bottom = DEFAULT_PADDING * 1.5f), fontSize = 16.sp, textAlign = TextAlign.Center, color = HighOrLowlight)
}
buttons()
}
}
@@ -85,24 +86,28 @@ class AlertManager {
onDismissRequest: (() -> Unit)? = null,
destructive: Boolean = false
) {
val alertText: (@Composable () -> Unit)? = if (text == null) null else { -> Text(text) }
showAlert {
AlertDialog(
onDismissRequest = { onDismissRequest?.invoke(); hideAlert() },
title = { Text(title) },
text = alertText,
confirmButton = {
TextButton(onClick = {
onConfirm?.invoke()
hideAlert()
}) { Text(confirmText, color = if (destructive) MaterialTheme.colors.error else Color.Unspecified) }
title = alertTitle(title),
text = alertText(text),
buttons = {
Row (
Modifier.fillMaxWidth().padding(horizontal = DEFAULT_PADDING).padding(bottom = DEFAULT_PADDING_HALF),
horizontalArrangement = Arrangement.SpaceBetween
) {
TextButton(onClick = {
onDismiss?.invoke()
hideAlert()
}) { Text(dismissText) }
TextButton(onClick = {
onConfirm?.invoke()
hideAlert()
}) { Text(confirmText, color = if (destructive) MaterialTheme.colors.error else Color.Unspecified) }
}
},
dismissButton = {
TextButton(onClick = {
onDismiss?.invoke()
hideAlert()
}) { Text(dismissText) }
}
backgroundColor = if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background,
shape = RoundedCornerShape(corner = CornerSize(25.dp))
)
}
}
@@ -117,16 +122,15 @@ class AlertManager {
onDismissRequest: (() -> Unit)? = null,
destructive: Boolean = false
) {
val alertText: (@Composable () -> Unit)? = if (text == null) null else { -> Text(text) }
showAlert {
AlertDialog(
onDismissRequest = { onDismissRequest?.invoke(); hideAlert() },
title = { Text(title) },
text = alertText,
title = alertTitle(title),
text = alertText(text),
buttons = {
Column(
Modifier.fillMaxWidth().padding(horizontal = 8.dp).padding(top = 16.dp, bottom = 2.dp),
horizontalAlignment = Alignment.End
horizontalAlignment = Alignment.CenterHorizontally
) {
TextButton(onClick = {
onDismiss?.invoke()
@@ -135,9 +139,11 @@ class AlertManager {
TextButton(onClick = {
onConfirm?.invoke()
hideAlert()
}) { Text(confirmText, color = if (destructive) MaterialTheme.colors.error else Color.Unspecified, textAlign = TextAlign.End) }
}) { Text(confirmText, color = if (destructive) Color.Red else Color.Unspecified, textAlign = TextAlign.End) }
}
},
backgroundColor = if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background,
shape = RoundedCornerShape(corner = CornerSize(25.dp))
)
}
}
@@ -146,18 +152,24 @@ class AlertManager {
title: String, text: String? = null,
confirmText: String = generalGetString(R.string.ok), onConfirm: (() -> Unit)? = null
) {
val alertText: (@Composable () -> Unit)? = if (text == null) null else { -> Text(text) }
showAlert {
AlertDialog(
onDismissRequest = this::hideAlert,
title = { Text(title) },
text = alertText,
confirmButton = {
TextButton(onClick = {
onConfirm?.invoke()
hideAlert()
}) { Text(confirmText) }
}
title = alertTitle(title),
text = alertText(text),
buttons = {
Row(
Modifier.fillMaxWidth().padding(horizontal = DEFAULT_PADDING).padding(bottom = DEFAULT_PADDING_HALF),
horizontalArrangement = Arrangement.Center
) {
TextButton(onClick = {
onConfirm?.invoke()
hideAlert()
}) { Text(confirmText, color = Color.Unspecified) }
}
},
backgroundColor = if (isInDarkTheme()) Color(0xff222222) else MaterialTheme.colors.background,
shape = RoundedCornerShape(corner = CornerSize(25.dp))
)
}
}
@@ -178,3 +190,30 @@ class AlertManager {
val shared = AlertManager()
}
}
private fun alertTitle(title: String): (@Composable () -> Unit)? {
return {
Text(
title,
Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
fontSize = 20.sp
)
}
}
private fun alertText(text: String?): (@Composable () -> Unit)? {
return if (text == null) {
null
} else {
({
Text(
text,
Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
fontSize = 16.sp,
color = HighOrLowlight
)
})
}
}

View File

@@ -13,9 +13,10 @@ import chat.simplex.app.R
import chat.simplex.app.views.newchat.ActionButton
sealed class AttachmentOption {
object TakePhoto: AttachmentOption()
object PickMedia: AttachmentOption()
object PickFile: AttachmentOption()
object CameraPhoto: AttachmentOption()
object GalleryImage: AttachmentOption()
object GalleryVideo: AttachmentOption()
object File: AttachmentOption()
}
@Composable
@@ -38,15 +39,19 @@ fun ChooseAttachmentView(
horizontalArrangement = Arrangement.SpaceEvenly
) {
ActionButton(null, stringResource(R.string.use_camera_button), icon = Icons.Outlined.PhotoCamera) {
attachmentOption.value = AttachmentOption.TakePhoto
attachmentOption.value = AttachmentOption.CameraPhoto
hide()
}
ActionButton(null, stringResource(R.string.from_gallery_button), icon = Icons.Outlined.Collections) {
attachmentOption.value = AttachmentOption.PickMedia
ActionButton(null, stringResource(R.string.gallery_image_button), icon = Icons.Outlined.Image) {
attachmentOption.value = AttachmentOption.GalleryImage
hide()
}
ActionButton(null, stringResource(R.string.gallery_video_button), icon = Icons.Outlined.SmartDisplay) {
attachmentOption.value = AttachmentOption.GalleryVideo
hide()
}
ActionButton(null, stringResource(R.string.choose_file), icon = Icons.Outlined.InsertDriveFile) {
attachmentOption.value = AttachmentOption.PickFile
attachmentOption.value = AttachmentOption.File
hide()
}
}

View File

@@ -0,0 +1,58 @@
package chat.simplex.app.views.helpers
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CornerSize
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import chat.simplex.app.ui.theme.*
@Composable
fun DefaultDropdownMenu(
showMenu: MutableState<Boolean>,
offset: DpOffset = DpOffset(0.dp, 0.dp),
dropdownMenuItems: (@Composable () -> Unit)?
) {
MaterialTheme(
colors = MaterialTheme.colors.copy(surface = if (isInDarkTheme()) Color(0xFF080808) else MaterialTheme.colors.background),
shapes = MaterialTheme.shapes.copy(medium = RoundedCornerShape(corner = CornerSize(25.dp)))
) {
DropdownMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
Modifier
.widthIn(min = 250.dp)
.padding(vertical = 4.dp),
offset = offset,
) {
dropdownMenuItems?.invoke()
}
}
}
@Composable
fun ExposedDropdownMenuBoxScope.DefaultExposedDropdownMenu(
expanded: MutableState<Boolean>,
modifier: Modifier = Modifier,
dropdownMenuItems: (@Composable () -> Unit)?
) {
MaterialTheme(
colors = MaterialTheme.colors.copy(surface = if (isInDarkTheme()) Color(0xFF080808) else MaterialTheme.colors.background),
shapes = MaterialTheme.shapes.copy(medium = RoundedCornerShape(corner = CornerSize(25.dp)))
) {
ExposedDropdownMenu(
modifier = Modifier.widthIn(min = 200.dp).then(modifier),
expanded = expanded.value,
onDismissRequest = {
expanded.value = false
}
) {
dropdownMenuItems?.invoke()
}
}
}

View File

@@ -15,8 +15,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.simplex.app.R
import chat.simplex.app.ui.theme.DEFAULT_PADDING
import chat.simplex.app.ui.theme.HighOrLowlight
import chat.simplex.app.ui.theme.*
@Composable
fun <T> ExposedDropDownSettingRow(
@@ -33,7 +32,7 @@ fun <T> ExposedDropDownSettingRow(
Modifier.fillMaxWidth().padding(vertical = 10.dp),
verticalAlignment = Alignment.CenterVertically,
) {
var expanded by remember { mutableStateOf(false) }
val expanded = remember { mutableStateOf(false) }
if (icon != null) {
Icon(
@@ -46,9 +45,9 @@ fun <T> ExposedDropDownSettingRow(
Text(title, Modifier.weight(1f), color = if (enabled.value) Color.Unspecified else HighOrLowlight)
ExposedDropdownMenuBox(
expanded = expanded,
expanded = expanded.value,
onExpandedChange = {
expanded = !expanded && enabled.value
expanded.value = !expanded.value && enabled.value
}
) {
Row(
@@ -66,29 +65,28 @@ fun <T> ExposedDropDownSettingRow(
)
Spacer(Modifier.size(12.dp))
Icon(
if (!expanded) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
if (!expanded.value) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
generalGetString(R.string.icon_descr_more_button),
tint = HighOrLowlight
)
}
ExposedDropdownMenu(
DefaultExposedDropdownMenu(
modifier = Modifier.widthIn(min = 200.dp),
expanded = expanded,
onDismissRequest = {
expanded = false
}
) {
values.forEach { selectionOption ->
DropdownMenuItem(
onClick = {
onSelected(selectionOption.first)
expanded = false
}
expanded.value = false
},
contentPadding = PaddingValues(horizontal = DEFAULT_PADDING * 1.5f)
) {
Text(
selectionOption.second + (if (label != null) " $label" else ""),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
color = if (isInDarkTheme()) MenuTextColorDark else Color.Black,
)
}
}

View File

@@ -18,8 +18,7 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.CallSuper
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Collections
import androidx.compose.material.icons.outlined.PhotoCamera
import androidx.compose.material.icons.outlined.*
import androidx.compose.runtime.*
import androidx.compose.runtime.saveable.Saver
import androidx.compose.runtime.saveable.rememberSaveable
@@ -259,7 +258,7 @@ fun GetImageBottomSheet(
}
}
}
ActionButton(null, stringResource(R.string.from_gallery_button), icon = Icons.Outlined.Collections) {
ActionButton(null, stringResource(R.string.from_gallery_button), icon = Icons.Outlined.Image) {
try {
galleryLauncher.launch(0)
} catch (e: ActivityNotFoundException) {

View File

@@ -12,6 +12,7 @@ import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.*
import androidx.compose.runtime.*
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -253,14 +254,14 @@ fun IntSettingRow(title: String, selection: MutableState<Int>, values: List<Int>
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceBetween
) {
var expanded by remember { mutableStateOf(false) }
val expanded = rememberSaveable { mutableStateOf(false) }
Text(title)
ExposedDropdownMenuBox(
expanded = expanded,
expanded = expanded.value,
onExpandedChange = {
expanded = !expanded
expanded.value = !expanded.value
}
) {
Row(
@@ -276,24 +277,22 @@ fun IntSettingRow(title: String, selection: MutableState<Int>, values: List<Int>
)
Spacer(Modifier.size(4.dp))
Icon(
if (!expanded) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
if (!expanded.value) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
generalGetString(R.string.invite_to_group_button),
modifier = Modifier.padding(start = 8.dp),
tint = HighOrLowlight
)
}
ExposedDropdownMenu(
DefaultExposedDropdownMenu(
expanded = expanded,
onDismissRequest = {
expanded = false
}
) {
values.forEach { selectionOption ->
DropdownMenuItem(
onClick = {
selection.value = selectionOption
expanded = false
}
expanded.value = false
},
contentPadding = PaddingValues(horizontal = DEFAULT_PADDING * 1.5f)
) {
Text(
"$selectionOption $label",
@@ -314,14 +313,14 @@ fun TimeoutSettingRow(title: String, selection: MutableState<Long>, values: List
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceBetween
) {
var expanded by remember { mutableStateOf(false) }
val expanded = remember { mutableStateOf(false) }
Text(title)
ExposedDropdownMenuBox(
expanded = expanded,
expanded = expanded.value,
onExpandedChange = {
expanded = !expanded
expanded.value = !expanded.value
}
) {
val df = DecimalFormat("#.#")
@@ -339,24 +338,22 @@ fun TimeoutSettingRow(title: String, selection: MutableState<Long>, values: List
)
Spacer(Modifier.size(4.dp))
Icon(
if (!expanded) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
if (!expanded.value) Icons.Outlined.ExpandMore else Icons.Outlined.ExpandLess,
generalGetString(R.string.invite_to_group_button),
modifier = Modifier.padding(start = 8.dp),
tint = HighOrLowlight
)
}
ExposedDropdownMenu(
expanded = expanded,
onDismissRequest = {
expanded = false
}
DefaultExposedDropdownMenu(
expanded = expanded
) {
values.forEach { selectionOption ->
DropdownMenuItem(
onClick = {
selection.value = selectionOption
expanded = false
}
expanded.value = false
},
contentPadding = PaddingValues(horizontal = DEFAULT_PADDING * 1.5f)
) {
Text(
"${df.format(selectionOption / 1_000_000.toDouble())} $label",

View File

@@ -43,16 +43,5 @@ fun DeveloperView(
generalGetString(R.string.developer_options)
)
SectionSpacer()
// val xftpSendEnabled = m.controller.appPrefs.xftpSendEnabled
// val xftpEnabled = remember { mutableStateOf(xftpSendEnabled.get()) }
// SectionView(generalGetString(R.string.settings_section_title_experimenta)) {
// SettingsPreferenceItem(Icons.Outlined.UploadFile, stringResource(R.string.settings_send_files_via_xftp), xftpSendEnabled, xftpEnabled) {
// withApi { m.controller.apiSetXFTPConfig(m.controller.getXFTPCfg()) }
// }
// }
// if (xftpEnabled.value) {
// SectionTextFooter(generalGetString(R.string.xftp_requires_v461))
// }
}
}

View File

@@ -1,37 +0,0 @@
package chat.simplex.app.views.usersettings
import SectionView
import androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.UploadFile
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import chat.simplex.app.R
import chat.simplex.app.model.ChatModel
import chat.simplex.app.views.helpers.withApi
@Composable
fun ExperimentalFeaturesView(chatModel: ChatModel) {
Column(
Modifier.fillMaxWidth(),
horizontalAlignment = Alignment.Start
) {
Text(
stringResource(R.string.settings_experimental_features),
style = MaterialTheme.typography.h1,
modifier = Modifier.padding(start = 16.dp, bottom = 24.dp)
)
SectionView("") {
SettingsPreferenceItem(Icons.Outlined.UploadFile, stringResource(R.string.settings_send_files_via_xftp), chatModel.controller.appPrefs.xftpSendEnabled) {
withApi {
chatModel.controller.apiSetXFTPConfig(chatModel.controller.getXFTPCfg())
}
}
}
}
}

View File

@@ -48,7 +48,6 @@ fun NetworkAndServersView(
NetworkAndServersLayout(
developerTools = developerTools,
xftpSendEnabled = remember { chatModel.controller.appPrefs.xftpSendEnabled.state },
networkUseSocksProxy = networkUseSocksProxy,
onionHosts = onionHosts,
sessionMode = sessionMode,
@@ -145,7 +144,6 @@ fun NetworkAndServersView(
@Composable fun NetworkAndServersLayout(
developerTools: Boolean,
xftpSendEnabled: State<Boolean>,
networkUseSocksProxy: MutableState<Boolean>,
onionHosts: MutableState<OnionHosts>,
sessionMode: MutableState<TransportSessionMode>,
@@ -167,10 +165,8 @@ fun NetworkAndServersView(
SettingsActionItem(Icons.Outlined.Dns, stringResource(R.string.smp_servers), showCustomModal { m, close -> ProtocolServersView(m, ServerProtocol.SMP, close) })
SectionDivider()
if (xftpSendEnabled.value) {
SettingsActionItem(Icons.Outlined.Dns, stringResource(R.string.xftp_servers), showCustomModal { m, close -> ProtocolServersView(m, ServerProtocol.XFTP, close) })
SectionDivider()
}
SettingsActionItem(Icons.Outlined.Dns, stringResource(R.string.xftp_servers), showCustomModal { m, close -> ProtocolServersView(m, ServerProtocol.XFTP, close) })
SectionDivider()
SectionItemView {
UseSocksProxySwitch(networkUseSocksProxy, proxyPort, toggleSocksProxy, showSettingsModal)
@@ -434,7 +430,6 @@ fun PreviewNetworkAndServersLayout() {
SimpleXTheme {
NetworkAndServersLayout(
developerTools = true,
xftpSendEnabled = remember { mutableStateOf(true) },
networkUseSocksProxy = remember { mutableStateOf(true) },
proxyPort = remember { mutableStateOf(9050) },
showModal = { {} },

View File

@@ -18,6 +18,7 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.*
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import chat.simplex.app.R
import chat.simplex.app.model.*
@@ -112,7 +113,7 @@ fun ProtocolServersView(m: ChatModel, serverProtocol: ServerProtocol, close: ()
// No saving until something will be changed on the next screen to prevent blank servers on the list
showServer(servers.last())
}) {
Text(stringResource(R.string.smp_servers_enter_manually))
Text(stringResource(R.string.smp_servers_enter_manually), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary)
}
SectionItemView({
AlertManager.shared.hideAlert()
@@ -125,7 +126,7 @@ fun ProtocolServersView(m: ChatModel, serverProtocol: ServerProtocol, close: ()
}
}
) {
Text(stringResource(R.string.smp_servers_scan_qr))
Text(stringResource(R.string.smp_servers_scan_qr), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary)
}
val hasAllPresets = hasAllPresets(presetServers, servers, m)
if (!hasAllPresets) {
@@ -133,7 +134,7 @@ fun ProtocolServersView(m: ChatModel, serverProtocol: ServerProtocol, close: ()
AlertManager.shared.hideAlert()
servers = (servers + addAllPresets(presetServers, servers, m)).sortedByDescending { it.preset }
}) {
Text(stringResource(R.string.smp_servers_preset_add), color = MaterialTheme.colors.onBackground)
Text(stringResource(R.string.smp_servers_preset_add), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.onBackground)
}
}
}

View File

@@ -207,8 +207,6 @@ fun SettingsLayout(
SectionView(stringResource(R.string.settings_section_title_develop)) {
SettingsActionItem(Icons.Outlined.Code, stringResource(R.string.settings_developer_tools), showSettingsModal { DeveloperView(it, showCustomModal, withAuth) })
SectionDivider()
// SettingsActionItem(Icons.Outlined.Science, stringResource(R.string.settings_experimental_features), showSettingsModal { ExperimentalFeaturesView(it) })
// SectionDivider()
AppVersionItem(showVersion)
}
}

View File

@@ -19,6 +19,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.*
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import chat.simplex.app.R
import chat.simplex.app.chatPasswordHash
@@ -31,7 +32,6 @@ import chat.simplex.app.views.database.PassphraseField
import chat.simplex.app.views.helpers.*
import chat.simplex.app.views.onboarding.CreateProfile
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@Composable
fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden: MutableState<Boolean>) {
@@ -73,14 +73,14 @@ fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden:
AlertManager.shared.hideAlert()
removeUser(m, user, users, true, searchTextOrPassword.value.trim())
}) {
Text(stringResource(R.string.users_delete_with_connections), color = Color.Red)
Text(stringResource(R.string.users_delete_with_connections), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red)
}
SectionItemView({
AlertManager.shared.hideAlert()
removeUser(m, user, users, false, searchTextOrPassword.value.trim())
}
) {
Text(stringResource(R.string.users_delete_data_only), color = Color.Red)
Text(stringResource(R.string.users_delete_data_only), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red)
}
}
}
@@ -210,43 +210,39 @@ private fun UserView(
unmuteUser: (User) -> Unit,
showHiddenProfile: (User) -> Unit,
) {
var showDropdownMenu by remember { mutableStateOf(false) }
UserProfilePickerItem(user, onLongClick = { if (users.size > 1) showDropdownMenu = true }) {
val showMenu = remember { mutableStateOf(false) }
UserProfilePickerItem(user, onLongClick = { if (users.size > 1) showMenu.value = true }) {
activateUser(user)
}
Box(Modifier.padding(horizontal = 16.dp)) {
DropdownMenu(
expanded = showDropdownMenu,
onDismissRequest = { showDropdownMenu = false },
Modifier.width(220.dp)
) {
DefaultDropdownMenu(showMenu) {
if (user.hidden) {
ItemAction(stringResource(R.string.user_unhide), Icons.Outlined.LockOpen, onClick = {
showDropdownMenu = false
showMenu.value = false
unhideUser(user)
})
} else {
if (visibleUsersCount > 1) {
ItemAction(stringResource(R.string.user_hide), Icons.Outlined.Lock, onClick = {
showDropdownMenu = false
showMenu.value = false
showHiddenProfile(user)
})
}
if (user.showNtfs) {
ItemAction(stringResource(R.string.user_mute), Icons.Outlined.NotificationsOff, onClick = {
showDropdownMenu = false
showMenu.value = false
muteUser(user)
})
} else {
ItemAction(stringResource(R.string.user_unmute), Icons.Outlined.Notifications, onClick = {
showDropdownMenu = false
showMenu.value = false
unmuteUser(user)
})
}
}
ItemAction(stringResource(R.string.delete_verb), Icons.Outlined.Delete, color = Color.Red, onClick = {
removeUser(user)
showDropdownMenu = false
showMenu.value = false
})
}
}

View File

@@ -186,9 +186,11 @@
<string name="to_share_with_your_contact">(sdílet s kontaktem)</string>
<string name="only_stored_on_members_devices">(uloženo pouze členy skupiny)</string>
<string name="toast_permission_denied">Oprávnění zamítnuto!</string>
<string name="use_camera_button">Použít fotoaparát</string>
<string name="use_camera_button">Fotoaparát</string>
<string name="from_gallery_button">Z Galerie</string>
<string name="choose_file">Vybrat soubor</string>
<string name="choose_file">Soubor</string>
<string name="gallery_image_button">Obrázek</string>
<string name="gallery_video_button">Video</string>
<string name="to_start_a_new_chat_help_header">Pro zahájení nové konverzace</string>
<string name="chat_help_tap_button">Klepněte na tlačítko</string>
<string name="above_then_preposition_continuation">potom:</string>
@@ -1019,7 +1021,6 @@
<string name="you_will_still_receive_calls_and_ntfs">Stále budete přijímat volání a upozornění od umlčených profilů pokud budou aktivní.</string>
<string name="you_can_hide_or_mute_user_profile">Můžete skrýt nebo ztlumit uživatelský profil - Podržte pro menu.</string>
<string name="user_unhide">Odkrýt</string>
<string name="settings_send_files_via_xftp">Poslat videa a soubory přes XFTP</string>
<string name="database_upgrade">Aktualizace databáze</string>
<string name="database_downgrade_warning">Upozornění: můžete ztratit nějaká data!</string>
<string name="confirm_database_upgrades">Potvrdit aktualizaci databáze</string>
@@ -1034,7 +1035,6 @@
<string name="hide_dev_options">Skrýt:</string>
<string name="show_developer_options">Zobrazit možnosti vývojáře</string>
<string name="settings_section_title_experimenta">POKUSNÝ</string>
<string name="xftp_requires_v461">Pro příjem přes XFTP je vyžadována verze 4.6.1+.</string>
<string name="image_will_be_received_when_contact_completes_uploading">Obrázek bude přijat, až kontakt dokončí jeho nahrání.</string>
<string name="show_dev_options">Zobrazit:</string>
<string name="developer_options">ID databáze a možnost Izolace přenosu.</string>

View File

@@ -254,9 +254,11 @@
<string name="only_stored_on_members_devices">(Wird nur von Gruppenmitgliedern gespeichert)</string>
<!-- GetImageView -->
<string name="toast_permission_denied">Berechtigung verweigert!</string>
<string name="use_camera_button">Kamera\nverwenden</string>
<string name="use_camera_button">Kamera</string>
<string name="from_gallery_button">Aus dem\nFotoalbum</string>
<string name="choose_file">Datei\nauswählen</string>
<string name="choose_file">Datei</string>
<string name="gallery_image_button">Bild</string>
<string name="gallery_video_button">Video</string>
<!-- help - ChatHelpView.kt -->
<string name="thank_you_for_installing_simplex">Danke, dass Sie <xliff:g id="appNameFull">SimpleX Chat</xliff:g> installiert haben!</string>
<string name="you_can_connect_to_simplex_chat_founder">Sie können sich <font color="#0088ff">mit <xliff:g id="appNameFull">SimpleX Chat</xliff:g> Entwicklern verbinden, um Fragen zu stellen und Updates zu erhalten</font>.</string>
@@ -1098,7 +1100,6 @@
<string name="group_welcome_title">Begrüßungsmeldung</string>
<string name="you_can_hide_or_mute_user_profile">Sie können ein Benutzerprofil verbergen oder stummschalten - für das Menü gedrückt halten.</string>
<string name="to_reveal_profile_enter_password">Geben Sie ein vollständiges Passwort in das Suchfeld auf der Seite \"Meine Chat-Profile\" ein, um Ihr verborgenes Profil zu sehen.</string>
<string name="settings_send_files_via_xftp">Videos und Dateien per XFTP versenden</string>
<string name="invalid_migration_confirmation">Migrations-Bestätigung ungültig</string>
<string name="upgrade_and_open_chat">Aktualisieren und den Chat öffnen</string>
<string name="confirm_database_upgrades">Datenbank-Aktualisierungen bestätigen</string>
@@ -1115,7 +1116,6 @@
<string name="mtr_error_no_down_migration">Die Datenbank-Version ist neuer als die App, keine Abwärts-Migration für: %s</string>
<string name="hide_dev_options">Verberge:</string>
<string name="database_migrations">Migrationen: %s</string>
<string name="xftp_requires_v461">Für den Empfang per XFTP wird v4.6.1 oder neuer benötigt.</string>
<string name="image_will_be_received_when_contact_completes_uploading">Das Bild wird empfangen, sobald das Hochladen durch ihren Kontakt abgeschlossen ist.</string>
<string name="file_will_be_received_when_contact_completes_uploading">Die Datei wird empfangen, sobald das Hochladen durch ihren Kontakt abgeschlossen ist.</string>
<string name="cancel_file__question">Dateitransfer abbrechen\?</string>
@@ -1194,4 +1194,6 @@
<string name="alert_text_fragment_permanent_error_reconnect">Es handelt sich um einen permanenten Fehler für diese Verbindung - bitte verbinden Sie sich neu.</string>
<string name="smp_server_test_upload_file">Datei hochladen</string>
<string name="alert_text_decryption_error_too_many_skipped"><xliff:g id="message count" example="1">%1$d</xliff:g> Nachrichten übersprungen.</string>
<string name="allow_calls_only_if">Anrufe sind nur erlaubt, wenn Ihr Kontakt das ebenfalls erlaubt.</string>
<string name="allow_your_contacts_to_call">Erlaubt Ihren Kontakten Sie anzurufen.</string>
</resources>

View File

@@ -263,7 +263,7 @@
<string name="clear_contacts_selection_button">Limpiar</string>
<string name="change_member_role_question">¿Cambiar rol de grupo\?</string>
<string name="v4_4_verify_connection_security_desc">Compara los códigos de seguridad con tus contactos</string>
<string name="choose_file">Elije archivo</string>
<string name="choose_file">Archivo</string>
<string name="clear_verb">Limpiar</string>
<string name="clear_chat_button">Limpiar chat</string>
<string name="configure_ICE_servers">Configurar servidores ICE</string>
@@ -359,6 +359,8 @@
<string name="error_saving_file">Error al guardar archivo</string>
<string name="icon_descr_server_status_error">Error</string>
<string name="from_gallery_button">De la Galería</string>
<string name="gallery_image_button">Imagen</string>
<string name="gallery_video_button">Vídeo</string>
<string name="if_you_received_simplex_invitation_link_you_can_open_in_browser">Si has recibido el enlace de invitación a <xliff:g id="appName">SimpleX Chat</xliff:g>, puedes abrirlo en tu navegador:</string>
<string name="if_you_choose_to_reject_the_sender_will_not_be_notified">Si eliges rechazar, el remitente NO será notificado.</string>
<string name="invalid_contact_link">¡Enlace no válido!</string>
@@ -748,7 +750,7 @@
<string name="icon_descr_received_msg_status_unread">no leído</string>
<string name="text_field_set_contact_placeholder">Escribe un nombre para el contacto…</string>
<string name="switch_receiving_address_question">¿Cambiar dirección de recepción\?</string>
<string name="use_camera_button">Usar cámara</string>
<string name="use_camera_button">Cámara</string>
<string name="contact_you_shared_link_with_wont_be_able_to_connect">¡El contacto con el que has compartido este enlace NO podrá conectarse!</string>
<string name="show_QR_code">Mostrar código QR</string>
<string name="this_link_is_not_a_valid_connection_link">¡El enlace no es un enlace de conexión válido!</string>
@@ -1020,7 +1022,6 @@
\n- borrar mensajes de los miembros.
\n- desactivar el rol a miembros (a rol \"observador\")</string>
<string name="to_reveal_profile_enter_password">Para hacer visible tu perfil oculto, introduce la contraseña completa en el campo de búsqueda de la página Tus perfiles Chat.</string>
<string name="settings_send_files_via_xftp">Enviar vídeos y archivos mediante XFTP</string>
<string name="database_upgrade">Actualización de la base de datos</string>
<string name="database_downgrade">Volviendo a versión anterior de la base de datos</string>
<string name="invalid_migration_confirmation">Confirmación de migración no válida</string>
@@ -1036,7 +1037,6 @@
<string name="developer_options">ID de base de datos y opción de aislamiento de transporte.</string>
<string name="file_will_be_received_when_contact_completes_uploading">El archivo se recibirá cuando tu contacto termine de subirlo.</string>
<string name="image_will_be_received_when_contact_completes_uploading">La imagen se recibirá cuando tu contacto termine de subirla.</string>
<string name="xftp_requires_v461">Se requiere v4.6.1+ para recibir vía XFTP.</string>
<string name="show_developer_options">Mostrar opciones de desarrollador</string>
<string name="hide_dev_options">Ocultar:</string>
<string name="show_dev_options">Mostrar:</string>

View File

@@ -201,7 +201,9 @@
<string name="to_share_with_your_contact">(à partager avec votre contact)</string>
<string name="create_group">Créer un groupe secret</string>
<string name="from_gallery_button">Depuis la Phototèque</string>
<string name="choose_file">Choisir le fichier</string>
<string name="choose_file">Fichier</string>
<string name="gallery_image_button">Image</string>
<string name="gallery_video_button">Vidéo</string>
<string name="to_start_a_new_chat_help_header">Pour démarrer une nouvelle discussion</string>
<string name="chat_help_tap_button">Appuyez sur le bouton</string>
<string name="scan_QR_code_to_connect_to_contact_who_shows_QR_code"><b>Scanner un code QR</b> : pour vous connecter à votre contact qui vous montre un code QR.</string>
@@ -294,7 +296,7 @@
<string name="waiting_for_file">En attente du fichier</string>
<string name="voice_message">Message vocal</string>
<string name="toast_permission_denied">Autorisation refusée !</string>
<string name="use_camera_button">Utiliser l\'Appareil photo</string>
<string name="use_camera_button">Appareil\nphoto</string>
<string name="thank_you_for_installing_simplex">Merci d\'avoir installé <xliff:g id="appNameFull">SimpleX Chat</xliff:g> !</string>
<string name="you_can_connect_to_simplex_chat_founder">Vous pouvez <font color="#0088ff">vous connecter aux développeurs de <xliff:g id="appNameFull">SimpleX Chat</xliff:g> pour leur poser des questions et recevoir des réponses :</font>.</string>
<string name="above_then_preposition_continuation">ci-dessus, puis :</string>
@@ -1019,7 +1021,6 @@
<string name="group_welcome_title">Message d\'accueil</string>
<string name="you_can_hide_or_mute_user_profile">Vous pouvez masquer ou mettre en sourdine un profil d\'utilisateur - maintenez-le enfoncé pour accéder au menu.</string>
<string name="you_will_still_receive_calls_and_ntfs">Vous continuerez à recevoir des appels et des notifications des profils mis en sourdine lorsqu\'ils sont actifs.</string>
<string name="settings_send_files_via_xftp">Envoi de vidéos et de fichiers via XFTP</string>
<string name="database_downgrade">Rétrogradation de la base de données</string>
<string name="database_upgrade">Mise à niveau de la base de données</string>
<string name="incompatible_database_version">Version de la base de données incompatible</string>
@@ -1035,7 +1036,6 @@
<string name="show_dev_options">Afficher :</string>
<string name="show_developer_options">Afficher les options pour les développeurs</string>
<string name="file_will_be_received_when_contact_completes_uploading">Le fichier sera reçu lorsque votre contact aura terminé de le mettre en ligne.</string>
<string name="xftp_requires_v461">v4.6.1+ nécessaire pour la réception via XFTP.</string>
<string name="developer_options">IDs de base de données et option d\'isolation du transport.</string>
<string name="settings_section_title_experimenta">EXPÉRIMENTALE</string>
<string name="hide_dev_options">Cacher :</string>

View File

@@ -298,7 +298,7 @@
<string name="display_name">Nome da mostrare</string>
<string name="add_new_contact_to_create_one_time_QR_code"><b>Aggiungi un contatto</b>: per creare il tuo codice QR una tantum per il tuo contatto.</string>
<string name="scan_QR_code_to_connect_to_contact_who_shows_QR_code"><b>Scansiona codice QR</b>: per connetterti al contatto che ti mostra il codice QR.</string>
<string name="choose_file">Scegli file</string>
<string name="choose_file">File</string>
<string name="clear_chat_button">Svuota chat</string>
<string name="clear_chat_question">Svuotare la chat\?</string>
<string name="clear_verb">Svuota</string>
@@ -308,6 +308,8 @@
<string name="create_group">Crea gruppo segreto</string>
<string name="desktop_scan_QR_code_from_app_via_scan_QR_code">💻 desktop: scansiona dall\'app il codice QR mostrato, tramite <b>Scansiona codice QR</b>.</string>
<string name="from_gallery_button">Dalla Galleria</string>
<string name="gallery_image_button">Immagine</string>
<string name="gallery_video_button">Video</string>
<string name="if_you_choose_to_reject_the_sender_will_not_be_notified">Se scegli di rifiutare, il mittente NON verrà avvisato.</string>
<string name="clear_chat_menu_action">Svuota</string>
<string name="icon_descr_close_button">Pulsante di chiusura</string>
@@ -545,7 +547,7 @@
<string name="to_connect_via_link_title">Per connettersi via link</string>
<string name="to_share_with_your_contact">(da condividere con il tuo contatto)</string>
<string name="to_start_a_new_chat_help_header">Per iniziare una nuova chat</string>
<string name="use_camera_button">Usa la fotocamera</string>
<string name="use_camera_button">Fotocamera</string>
<string name="you_can_connect_to_simplex_chat_founder">Puoi <font color="#0088ff">connetterti con gli sviluppatori di <xliff:g id="appNameFull">SimpleX Chat</xliff:g> per porre domande e ricevere aggiornamenti</font>.</string>
<string name="invalid_contact_link">Link non valido!</string>
<string name="invalid_QR_code">Codice QR non valido</string>
@@ -1019,7 +1021,6 @@
<string name="user_hide">Nascondi</string>
<string name="v4_6_group_welcome_message_descr">Imposta il messaggio mostrato ai nuovi membri!</string>
<string name="user_unmute">Riattiva audio</string>
<string name="settings_send_files_via_xftp">Invia video e file via XFTP</string>
<string name="database_downgrade">Downgrade del database</string>
<string name="database_upgrade">Aggiornamento del database</string>
<string name="incompatible_database_version">Versione del database incompatibile</string>
@@ -1028,7 +1029,6 @@
<string name="hide_dev_options">Nascondi:</string>
<string name="show_dev_options">Mostra:</string>
<string name="show_developer_options">Mostra opzioni sviluppatore</string>
<string name="xftp_requires_v461">v4.6.1+ necessaria per ricevere via XFTP.</string>
<string name="downgrade_and_open_chat">Esegui downgrade e apri chat</string>
<string name="database_migrations">Migrazioni: %s</string>
<string name="database_downgrade_warning">Attenzione: potresti perdere alcuni dati!</string>

View File

@@ -841,7 +841,6 @@
<string name="select_contacts">연락처 선택</string>
<string name="skip_inviting_button">멤버 초대 건너뛰기</string>
<string name="sending_via">다음을 통해 보내기</string>
<string name="settings_send_files_via_xftp">XFTP로 동영상 및 파일 보내기</string>
<string name="stop_chat_confirmation">멈추기</string>
<string name="snd_group_event_changed_member_role">%s의 역할을 %s로 변경했어요.</string>
<string name="section_title_for_console">콘솔용</string>

View File

@@ -385,6 +385,8 @@
<string name="file_not_found">Bestand niet gevonden</string>
<string name="file_saved">Bestand opgeslagen</string>
<string name="from_gallery_button">Galerij</string>
<string name="gallery_image_button">Foto</string>
<string name="gallery_video_button">Video</string>
<string name="error_saving_ICE_servers">Fout bij opslaan van ICE servers</string>
<string name="callstate_ended">geëindigd</string>
<string name="group_members_can_send_disappearing">Groepsleden kunnen verdwijnende berichten sturen.</string>
@@ -1018,7 +1020,6 @@
<string name="to_reveal_profile_enter_password">Om uw verborgen profiel te onthullen, voert u een volledig wachtwoord in een zoekveld in op de pagina Uw chat profielen.</string>
<string name="button_welcome_message">Welkomst bericht</string>
<string name="you_will_still_receive_calls_and_ntfs">U ontvangt nog steeds oproepen en meldingen van gedempte profielen wanneer deze actief zijn.</string>
<string name="settings_send_files_via_xftp">Verzend video\'s en bestanden via XFTP</string>
<string name="database_downgrade">Database downgraden</string>
<string name="invalid_migration_confirmation">Ongeldige migratie bevestiging</string>
<string name="upgrade_and_open_chat">Upgrade en open chat</string>
@@ -1037,7 +1038,6 @@
<string name="hide_dev_options">Verbergen:</string>
<string name="show_developer_options">Ontwikkelaars opties tonen</string>
<string name="settings_section_title_experimenta">EXPERIMENTEEL</string>
<string name="xftp_requires_v461">v4.6.1+ is vereist om te ontvangen via XFTP.</string>
<string name="cancel_file__question">Bestand overdracht annuleren\?</string>
<string name="file_transfer_will_be_cancelled_warning">Bestand overdracht wordt geannuleerd. Als het bezig is, wordt het gestopt.</string>
<string name="delete_profile">Verwijder profiel</string>
@@ -1134,4 +1134,10 @@
\nBeschikbaar in v5.1"</string>
<string name="prohibit_calls">Audio/video gesprekken verbieden.</string>
<string name="calls_prohibited_with_this_contact">Audio/video gesprekken zijn verboden.</string>
<string name="v5_0_large_files_support_descr">Snel en niet wachten tot de afzender online is!</string>
<string name="v5_0_app_passcode">App toegangscode</string>
<string name="v5_0_app_passcode_descr">Stel het in in plaats van systeemverificatie.</string>
<string name="v5_0_polish_interface">Poolse interface</string>
<string name="v5_0_polish_interface_descr">Dank aan de gebruikers draag bij via Weblate!</string>
<string name="v5_0_large_files_support">Video\'s en bestanden tot 1 GB</string>
</resources>

View File

@@ -224,9 +224,9 @@
<string name="scan_QR_code">Zeskanuj kod QR</string>
<string name="add_contact_or_create_group">Rozpocznij nowy czat</string>
<string name="to_share_with_your_contact">(aby udostępnić Twojemu kontaktowi)</string>
<string name="choose_file">Wybierz plik</string>
<string name="choose_file">Plik</string>
<string name="toast_permission_denied">Odmowa Uprawnienia!</string>
<string name="use_camera_button">Użyj Aparatu</string>
<string name="use_camera_button">Aparatu</string>
<string name="accept_contact_button">Akceptuj</string>
<string name="accept_contact_incognito_button">Akceptuj incognito</string>
<string name="clear_chat_warning">Wszystkie wiadomości zostaną usunięte - nie można tego cofnąć! Wiadomości zostaną usunięte TYLKO dla Ciebie.</string>
@@ -539,13 +539,11 @@
<string name="protect_app_screen">Chroń ekran aplikacji</string>
<string name="run_chat_section">URUCHOM CZAT</string>
<string name="send_link_previews">Wyślij podgląd linku</string>
<string name="settings_send_files_via_xftp">Wysyłaj filmy i pliki przez XFTP</string>
<string name="settings_section_title_settings">USTAWIENIA</string>
<string name="settings_section_title_socks">PROXY SOCKS</string>
<string name="stop_chat_question">Zatrzymać czat\?</string>
<string name="settings_section_title_support">WSPIERAJ SIMPLEX CHAT</string>
<string name="settings_section_title_themes">MOTYWY</string>
<string name="xftp_requires_v461">v4.6.1+ jest wymagany do odbierania przez XFTP.</string>
<string name="settings_section_title_you">TY</string>
<string name="your_chat_database">Twoja baza danych czatu</string>
<string name="set_password_to_export">Ustaw hasło do eksportu</string>
@@ -970,6 +968,8 @@
\n- usuwać wiadomości członków.
\n- wyłączyć członków (rola \"obserwatora\")</string>
<string name="from_gallery_button">Z Galerii</string>
<string name="gallery_image_button">Obraz</string>
<string name="gallery_video_button">Wideo</string>
<string name="feature_offered_item_with_param">zaproponował %s: %2s</string>
<string name="only_group_owners_can_enable_voice">Tylko właściciele grup mogą włączyć wiadomości głosowe.</string>
<string name="network_use_onion_hosts_no_desc_in_alert">Hosty onion nie będą używane.</string>
@@ -1137,4 +1137,10 @@
<string name="stop_rcv_file__title">Przestać odbierać plik\?</string>
<string name="stop_snd_file__title">Przestać wysyłać plik\?</string>
<string name="revoke_file__confirm">Odwołaj</string>
<string name="v5_0_app_passcode">Pin aplikacji</string>
<string name="v5_0_polish_interface">Polski interfejs</string>
<string name="v5_0_large_files_support">Filmy i pliki do 1gb</string>
<string name="v5_0_app_passcode_descr">Ustaw go zamiast uwierzytelniania systemowego.</string>
<string name="v5_0_large_files_support_descr">Szybko i bez czekania aż nadawca będzie online!</string>
<string name="v5_0_polish_interface_descr">Podziękowania dla użytkowników - wkład za pośrednictwem Weblate!</string>
</resources>

View File

@@ -24,7 +24,7 @@
<string name="icon_descr_asked_to_receive">Pediu para receber a imagem</string>
<string name="icon_descr_cancel_live_message">Cancelar mensagem ao vivo</string>
<string name="back">Voltar</string>
<string name="choose_file">Selecione o arquivo</string>
<string name="choose_file">Arquivo</string>
<string name="add_new_contact_to_create_one_time_QR_code"><b>Adicionar novo contato</b>: para criar seu QR code de uso único para seu contato.</string>
<string name="scan_QR_code_to_connect_to_contact_who_shows_QR_code"><b>Escanear código QR</b>: para se conectar ao seu contato que mostra o código QR para você.</string>
<string name="accept_contact_button">Aceitar</string>
@@ -352,6 +352,7 @@
<string name="description_via_one_time_link_incognito">anônimo via link único</string>
<string name="hide_verb">Ocultar</string>
<string name="from_gallery_button">Da Galeria</string>
<string name="gallery_video_button">Vídeo</string>
<string name="group_members_can_send_disappearing">Os membros do grupo podem enviar mensagens que desaparecem.</string>
<string name="icon_descr_file">Arquivo</string>
<string name="full_name__field">Nome completo:</string>
@@ -499,7 +500,7 @@
<string name="save_color">Salvar cor</string>
<string name="v4_5_italian_interface">interface italiana</string>
<string name="periodic_notifications">Notificações periódicas</string>
<string name="use_camera_button">Usar câmera</string>
<string name="use_camera_button">Câmera</string>
<string name="your_ICE_servers">Seus servidores ICE</string>
<string name="your_ice_servers">Seus servidores ICE</string>
<string name="your_privacy">Sua privacidade</string>
@@ -699,7 +700,6 @@
<string name="group_member_status_invited">convidado</string>
<string name="select_contacts">Selecionar contatos</string>
<string name="num_contacts_selected">%d contato(s) selecionado(s)</string>
<string name="settings_send_files_via_xftp">Envie vídeos e arquivos via XFTP</string>
<string name="delete_chat_profile_action_cannot_be_undone_warning">Esta ação não pode ser desfeita - seu perfil, contatos, mensagens e arquivos serão irreversivelmente perdidos.</string>
<string name="remove_passphrase">Remover</string>
<string name="wrong_passphrase">Senha do banco de dados incorreta</string>
@@ -1010,7 +1010,6 @@
<string name="callstate_waiting_for_confirmation">aguardando confirmação…</string>
<string name="we_do_not_store_contacts_or_messages_on_servers">Não armazenamos nenhum dos seus contatos ou mensagens (uma vez entregues) nos servidores.</string>
<string name="alert_title_skipped_messages">Mensagens ignoradas</string>
<string name="xftp_requires_v461">v4.6.1+ é necessário receber via XFTP.</string>
<string name="tap_to_activate_profile">Toque para ativar o perfil.</string>
<string name="unhide_chat_profile">Mostrar perfil de chat</string>
<string name="unhide_profile">Mostrar perfil</string>

View File

@@ -258,7 +258,9 @@
<string name="toast_permission_denied">Разрешение не получено!</string>
<string name="use_camera_button">Камера</string>
<string name="from_gallery_button">Галерея</string>
<string name="choose_file">Файлы</string>
<string name="gallery_image_button">Изображение</string>
<string name="gallery_video_button">Видео</string>
<string name="choose_file">Файл</string>
<!-- help - ChatHelpView.kt -->
<string name="thank_you_for_installing_simplex">Спасибо, что установили <xliff:g id="appNameFull">SimpleX Chat</xliff:g>!</string>
<string name="you_can_connect_to_simplex_chat_founder">Вы можете <font color="#0088ff">соединиться с разработчиками</font>, чтобы задать любые вопросы или получать уведомления о новых версиях.</string>
@@ -561,12 +563,10 @@
<string name="integrity_msg_bad_id">ошибка ID сообщения</string>
<string name="integrity_msg_duplicate">повторное сообщение</string>
<string name="alert_title_skipped_messages">Пропущенные сообщения</string>
<string name="alert_text_skipped_messages_it_can_happen_when">Это может случится, когда:
\n1. Сервер удалил сообщения, если они не были доставлены в течение 30 дней.
\n2. Сервер, через который Вы получаете сообщения от контакта, был обновлён и перезапущен.
\n3. Соединение компроментировано.
\nПожалуйста, соединитесь с девелоперами через Настройки, чтобы получать уведомления о серверах.
\nМы планируем добавить избыточную доставку сообщений, чтобы не терять сообщения.</string>
<string name="alert_text_skipped_messages_it_can_happen_when">Это может произойти, когда:
\n1. Клиент отправителя удалил неотправленные сообщения через 2 дня, или сервер через 30 дней.
\n2. Расшифровка сообщения была невозможна, когда Вы или Ваш контакт использовали старую копию базы данных.
\n3. Соединение компроментировано.</string>
<!-- Privacy settings -->
<string name="privacy_and_security">Конфиденциальность</string>
<string name="your_privacy">Конфиденциальность</string>
@@ -587,7 +587,7 @@
<string name="settings_section_title_socks">SOCKS ПРОКСИ</string>
<string name="settings_section_title_icon">ИКОНКА</string>
<string name="settings_section_title_themes">ТЕМЫ</string>
<string name="settings_section_title_messages">СООБЩЕНИЯ</string>
<string name="settings_section_title_messages">СООБЩЕНИЯ И ФАЙЛЫ</string>
<string name="settings_section_title_calls">ЗВОНКИ</string>
<string name="settings_section_title_incognito">Режим Инкогнито</string>
<!-- DatabaseView.kt -->
@@ -1104,7 +1104,6 @@
<string name="v4_6_chinese_spanish_interface_descr">Благодаря пользователям добавьте переводы через Weblate!</string>
<string name="you_will_still_receive_calls_and_ntfs">Вы все равно получите звонки и уведомления в профилях без звука, когда они активные.</string>
<string name="you_can_hide_or_mute_user_profile">Вы можете скрыть профиль или выключить уведомления - подержите, чтобы увидеть меню.</string>
<string name="settings_send_files_via_xftp">Отправлять видео и файлы через XFTP</string>
<string name="image_will_be_received_when_contact_completes_uploading">Изображение будет принято когда Ваш контакт его загрузит.</string>
<string name="file_will_be_received_when_contact_completes_uploading">Файл будет принят когда Ваш контакт загрузит его.</string>
<string name="database_upgrade">Обновление базы данных</string>
@@ -1126,7 +1125,6 @@
<string name="delete_chat_profile">Удалить профиль чата</string>
<string name="delete_profile">Удалить профиль</string>
<string name="profile_password">Пароль профиля</string>
<string name="xftp_requires_v461">v4.6.1+ необходима для приема файлов через XFTP.</string>
<string name="videos_limit_title">Слишком много видео!</string>
<string name="icon_descr_video_asked_to_receive">Запросил прием видео</string>
<string name="video_descr">Видео</string>
@@ -1140,4 +1138,90 @@
<string name="unhide_profile">Раскрыть профиль</string>
<string name="video_will_be_received_when_contact_is_online">Видео будет получено, когда Ваш контакт будет онлайн, пожалуйста, подождите или проверьте позже!</string>
<string name="unhide_chat_profile">Раскрыть профиль чата</string>
<string name="error_loading_smp_servers">Ошибка при загрузке SMP серверов</string>
<string name="error_loading_xftp_servers">Ошибка при загрузке XFTP серверов</string>
<string name="error_saving_xftp_servers">Ошибка при сохранении XFTP серверов</string>
<string name="ensure_xftp_server_address_are_correct_format_and_unique">Проверьте, что адреса XFTP северов в правильном формате и не дублируются.</string>
<string name="error_xftp_test_server_auth">Сервер требует авторизации для загрузки, проверьте пароль.</string>
<string name="smp_server_test_compare_file">Сравнение файла</string>
<string name="smp_server_test_delete_file">Удалить файл</string>
<string name="smp_server_test_download_file">Загрузка файла</string>
<string name="smp_server_test_upload_file">Загрузка файла</string>
<string name="xftp_servers">XFTP серверы</string>
<string name="your_XFTP_servers">Ваши XFTP серверы</string>
<string name="disable_onion_hosts_when_not_supported">Установите <i>Использовать .onion хосты</i> в Нет если SOCKS прокси их не поддерживает.</string>
<string name="la_auth_failed">Ошибка аутентификации</string>
<string name="la_no_app_password">Нет кода доступа</string>
<string name="la_lock_mode_passcode">Ввод кода доступа</string>
<string name="la_lock_mode">Режим Блокировки SimpleX</string>
<string name="la_lock_mode_system">Системная аутентификация</string>
<string name="la_could_not_be_verified">Ошибка аутентификации; попробуйте еще раз.</string>
<string name="la_immediately">Сразу</string>
<string name="la_authenticate">Аутентифицировать</string>
<string name="la_change_app_passcode">Изменить код доступа</string>
<string name="la_current_app_passcode">Текущий Код</string>
<string name="la_enter_app_passcode">Введите Код</string>
<string name="network_socks_proxy_settings">Настройки SOCKS прокси</string>
<string name="network_socks_toggle_use_socks_proxy">Использовать SOCKS прокси</string>
<string name="host_verb">Хост</string>
<string name="port_verb">Порт</string>
<string name="network_proxy_port">порт %d</string>
<string name="enable_lock">Включить блокировку</string>
<string name="authentication_cancelled">Аутентификация отменена</string>
<string name="la_mode_system">Системная</string>
<string name="la_seconds">%d секунд</string>
<string name="alert_text_decryption_error_header"><xliff:g id="message count" example="1">%1$d</xliff:g> сообщений не удалось расшифровать.</string>
<string name="decryption_error">Ошибка расшифровки</string>
<string name="lock_not_enabled">Блокировка SimpleX не включена!</string>
<string name="alert_title_msg_bad_hash">Ошибка хэш сообщения</string>
<string name="alert_text_msg_bad_hash">Хэш предыдущего сообщения отличается.</string>
<string name="confirm_passcode">Подтвердить Код</string>
<string name="incorrect_passcode">Неправильный код</string>
<string name="lock_after">Заблокировать через</string>
<string name="lock_mode">Режим блокировки</string>
<string name="new_passcode">Новый Код</string>
<string name="submit_passcode">Продолжить</string>
<string name="la_mode_passcode">Код доступа</string>
<string name="passcode_changed">Код доступа изменён!</string>
<string name="passcode_not_changed">Код доступа не изменён!</string>
<string name="passcode_set">Код доступа установлен!</string>
<string name="change_lock_mode">Изменить режим блокировки</string>
<string name="stop_rcv_file__message">Приём файла будет прекращён.</string>
<string name="revoke_file__confirm">Отозвать</string>
<string name="revoke_file__title">Отозвать файл\?</string>
<string name="stop_snd_file__message">Отправка файла будет остановлена.</string>
<string name="stop_file__confirm">Остановить</string>
<string name="stop_file__action">Остановить файл</string>
<string name="stop_snd_file__title">Остановить отправку файла\?</string>
<string name="alert_title_msg_bad_id">Ошибка ID сообщения</string>
<string name="alert_text_fragment_encryption_out_of_sync_old_database">Это может произойти, когда Вы или Ваш контакт используете старую копию базы данных.</string>
<string name="alert_text_fragment_please_report_to_developers">Пожалуйста, сообщите об этой ошибке девелоперам.</string>
<string name="alert_text_msg_bad_id">Неправильный ID предыдущего сообщения (меньше или равен предыдущему).
\nЭто может произойти из-за ошибки программы, или когда соединение компроментировано.</string>
<string name="alert_text_fragment_permanent_error_reconnect">Эта ошибка постоянная для этого соединения, пожалуйста, соединитесь снова.</string>
<string name="alert_text_decryption_error_too_many_skipped"><xliff:g id="message count" example="1">%1$d</xliff:g> сообщений пропущено.</string>
<string name="allow_calls_only_if">Разрешить звонки, только если их разрешает Ваш контакт.</string>
<string name="allow_your_contacts_to_call">Разрешить Вашим контактам звонить Вам.</string>
<string name="audio_video_calls">Аудио/видео звонки</string>
<string name="calls_prohibited_with_this_contact">Аудио/видео звонки запрещены.</string>
<string name="available_in_v51">"
\nДоступно в v5.1"</string>
<string name="both_you_and_your_contact_can_make_calls">Вы и Ваш контакт можете совершать звонки.</string>
<string name="only_you_can_make_calls">Только Вы можете совершать звонки.</string>
<string name="only_your_contact_can_make_calls">Только Ваш контакт может совершать звонки.</string>
<string name="prohibit_calls">Запретить аудио/видео звонки.</string>
<string name="no_spaces">Без пробелов!</string>
<string name="v5_0_large_files_support_descr">Быстрые и не нужно ждать, когда отправитель онлайн!</string>
<string name="v5_0_polish_interface">Польский интерфейс</string>
<string name="v5_0_app_passcode_descr">Установите код вместо системной аутентификации.</string>
<string name="v5_0_polish_interface_descr">Благодаря пользователям добавьте переводы через Weblate!</string>
<string name="v5_0_large_files_support">Видео и файлы до 1гб</string>
<string name="v5_0_app_passcode">Код доступа в приложение</string>
<string name="revoke_file__message">Файл будет удалён с серверов.</string>
<string name="smp_server_test_create_file">Создание файла</string>
<string name="la_minutes">%d минут(ы)</string>
<string name="la_please_remember_to_store_password">Пожалуйста, запомните или сохраните его - восстановить потерянный код доступа невозможно!</string>
<string name="revoke_file__action">Отозвать файл</string>
<string name="stop_rcv_file__title">Остановить приём файла\?</string>
<string name="you_can_turn_on_lock">Вы можете включить Блокировку SimpleX через Настройки.</string>
</resources>

View File

@@ -238,7 +238,7 @@
<string name="callstate_connected">已连接</string>
<string name="connect_button">连接</string>
<string name="connect_via_link_verb">连接</string>
<string name="choose_file">选择文件</string>
<string name="choose_file">文件</string>
<string name="network_session_mode_user">聊天资料</string>
<string name="v4_5_transport_isolation_descr">按聊天资料默认或按连接BETA</string>
<string name="smp_servers_check_address">检查服务器地址并再试一次。</string>
@@ -435,6 +435,8 @@
<string name="maximum_supported_file_size">目前支持的最大文件尺寸是 <xliff:g id="maxFileSize">%1$s</xliff:g></string>
<string name="file_will_be_received_when_contact_is_online">文件将在您的联系人在线时收到,请稍等或稍后再查看!</string>
<string name="from_gallery_button">从图库</string>
<string name="gallery_image_button">照片</string>
<string name="gallery_video_button">视频</string>
<string name="exit_without_saving">退出而不保存</string>
<string name="icon_descr_flip_camera">翻转相机</string>
<string name="enable_automatic_deletion_question">启用自动删除消息?</string>
@@ -855,7 +857,7 @@
<string name="toast_permission_denied">权限被拒绝!</string>
<string name="chat_help_tap_button">点击按钮</string>
<string name="thank_you_for_installing_simplex">感谢您安装 <xliff:g id="appNameFull">SimpleX Chat</xliff:g></string>
<string name="use_camera_button">使用相机</string>
<string name="use_camera_button">相机</string>
<string name="smp_servers_preset_address">预设服务器地址</string>
<string name="smp_servers_scan_qr">扫描服务器二维码</string>
<string name="smp_servers_test_failed">服务器测试失败!</string>
@@ -1019,7 +1021,6 @@
<string name="you_will_still_receive_calls_and_ntfs">当静音配置文件处于活动状态时,您仍会收到来自静音配置文件的电话和通知。</string>
<string name="you_can_hide_or_mute_user_profile">您可以隐藏或静音用户配置文件——长按以显示菜单。</string>
<string name="group_welcome_title">欢迎信息</string>
<string name="settings_send_files_via_xftp">通过 XFTP 发送视频和文件</string>
<string name="confirm_database_upgrades">确认数据库升级</string>
<string name="settings_section_title_experimenta">实验性</string>
<string name="database_upgrade">数据库升级</string>
@@ -1034,7 +1035,6 @@
<string name="database_migrations">迁移:%s</string>
<string name="image_will_be_received_when_contact_completes_uploading">图片将在您的联系人完成上传后收到。</string>
<string name="show_developer_options">显示开发者选项</string>
<string name="xftp_requires_v461">通过 XFTP 接收需要 v4.6.1 以上版本。</string>
<string name="upgrade_and_open_chat">升级并打开聊天</string>
<string name="database_downgrade_warning">警告:您可能会丢失部分数据!</string>
<string name="invalid_migration_confirmation">迁移确认无效</string>

View File

@@ -52,7 +52,7 @@
<string name="add_new_contact_to_create_one_time_QR_code"><b>新增新的聯絡人</b>:新增新的聯絡人可以使用二維碼建立你的一次性二維碼。</string>
<string name="scan_QR_code_to_connect_to_contact_who_shows_QR_code"><b>掃描二維碼</b>:連接到向你出示二維碼的聯絡人。</string>
<string name="choose_file">選擇檔案</string>
<string name="use_camera_button">使用相機</string>
<string name="use_camera_button">相機</string>
<string name="from_gallery_button">從圖片庫選擇圖片</string>
<string name="accept_contact_incognito_button">接受匿名聊天模式</string>
<string name="clear_chat_warning">所有訊息記錄會刪除 - 這不能還原!這些訊息只會在你裝置中刪除。</string>
@@ -1025,7 +1025,6 @@
<string name="user_unmute">取消靜音</string>
<string name="you_will_still_receive_calls_and_ntfs">當靜音配置檔案處於活動狀態時,你仍會收到來自靜音配置檔案的通話和通知。</string>
<string name="user_unhide">取消隱藏</string>
<string name="settings_send_files_via_xftp">通過 XFTP 傳送影片和檔案</string>
<string name="video_will_be_received_when_contact_is_online">影片將會在你的聯絡人在線時接收,請你等等或者稍後再檢查!</string>
<string name="confirm_database_upgrades">確認數據庫更新</string>
<string name="incompatible_database_version">數據庫版本不相容</string>
@@ -1039,7 +1038,6 @@
<string name="image_will_be_received_when_contact_completes_uploading">圖片將會在你的聯絡人完成上傳後接收。</string>
<string name="file_will_be_received_when_contact_completes_uploading">檔案將會在你的聯絡人完成上傳後接收。</string>
<string name="settings_section_title_experimenta">實驗性</string>
<string name="xftp_requires_v461">通過 XFTP 去接收需要 v4.6.1 以上的版本。</string>
<string name="upgrade_and_open_chat">升級和開始對話</string>
<string name="cancel_file__question">取消傳輸檔案?</string>
<string name="file_transfer_will_be_cancelled_warning">檔案傳遞將會取消。若是在傳遞檔案中,亦會暫停。</string>

View File

@@ -360,9 +360,11 @@
<!-- GetImageView -->
<string name="toast_permission_denied">Permission Denied!</string>
<string name="use_camera_button">Use Camera</string>
<string name="use_camera_button">Camera</string>
<string name="from_gallery_button">From Gallery</string>
<string name="choose_file">Choose file</string>
<string name="choose_file">File</string>
<string name="gallery_image_button">Image</string>
<string name="gallery_video_button">Video</string>
<!-- help - ChatHelpView.kt -->
<string name="thank_you_for_installing_simplex">Thank you for installing <xliff:g id="appNameFull">SimpleX Chat</xliff:g>!</string>
@@ -802,8 +804,6 @@
<string name="settings_section_title_calls">CALLS</string>
<string name="settings_section_title_incognito">Incognito mode</string>
<string name="settings_section_title_experimenta">EXPERIMENTAL</string>
<string name="settings_send_files_via_xftp">Send videos and files via XFTP</string>
<string name="xftp_requires_v461">v4.6.1+ is required to receive via XFTP.</string>
<!-- DatabaseView.kt -->
<string name="your_chat_database">Your chat database</string>

View File

@@ -241,8 +241,6 @@ struct ComposeView: View {
@State var pendingLinkUrl: URL? = nil
@State var cancelledLinks: Set<String> = []
@AppStorage(GROUP_DEFAULT_XFTP_SEND_ENABLED, store: groupDefaults) private var xftpSendEnabled = false
@State private var showChooseSource = false
@State private var showMediaPicker = false
@State private var showTakePhoto = false
@@ -462,8 +460,7 @@ struct ComposeView: View {
}
private var maxFileSize: Int64 {
let fileProtocol: FileProtocol = xftpSendEnabled ? .xftp : .smp
return getMaxFileSize(fileProtocol)
getMaxFileSize(.xftp)
}
private func sendLiveMessage() async {

View File

@@ -77,7 +77,7 @@ struct DatabaseView: View {
}
}
.frame(height: 36)
.disabled(m.chatDbChanged || progressIndicator)
.disabled(stopped || progressIndicator)
} header: {
Text("Messages")
} footer: {

View File

@@ -28,7 +28,6 @@ struct LibraryImagePicker: View {
struct LibraryMediaListPicker: UIViewControllerRepresentable {
typealias UIViewControllerType = PHPickerViewController
@AppStorage(GROUP_DEFAULT_XFTP_SEND_ENABLED, store: groupDefaults) var xftpSendEnabled = false
@Binding var media: [UploadContent]
var selectionLimit: Int
var didFinishPicking: (_ didSelectItems: Bool) -> Void
@@ -131,12 +130,7 @@ struct LibraryMediaListPicker: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> PHPickerViewController {
var config = PHPickerConfiguration()
let allowVideoAttachment = xftpSendEnabled
if allowVideoAttachment {
config.filter = .any(of: [.images, .videos])
} else {
config.filter = .images
}
config.filter = .any(of: [.images, .videos])
config.selectionLimit = selectionLimit
config.selection = .ordered
//config.preferredAssetRepresentationMode = .current

View File

@@ -12,7 +12,6 @@ import SimpleXChat
struct DeveloperView: View {
@AppStorage(DEFAULT_DEVELOPER_TOOLS) private var developerTools = false
@AppStorage(GROUP_DEFAULT_CONFIRM_DB_UPGRADES, store: groupDefaults) private var confirmDatabaseUpgrades = false
@AppStorage(GROUP_DEFAULT_XFTP_SEND_ENABLED, store: groupDefaults) private var xftpSendEnabled = false
@Environment(\.colorScheme) var colorScheme
var body: some View {

View File

@@ -1,37 +0,0 @@
//
// ExperimentalFeaturesView.swift
// SimpleX (iOS)
//
// Created by Evgeny on 30/05/2022.
// Copyright © 2022 SimpleX Chat. All rights reserved.
//
import SwiftUI
import SimpleXChat
struct ExperimentalFeaturesView: View {
@AppStorage(GROUP_DEFAULT_XFTP_SEND_ENABLED, store: groupDefaults) private var xftpSendEnabled = false
var body: some View {
List {
Section("") {
settingsRow("arrow.up.doc") {
Toggle("Send videos and files via XFTP", isOn: $xftpSendEnabled)
.onChange(of: xftpSendEnabled) { _ in
do {
try setXFTPConfig(getXFTPCfg())
} catch {
logger.error("setXFTPConfig: cannot set XFTP config \(responseError(error))")
}
}
}
}
}
}
}
struct ExperimentalFeaturesView_Previews: PreviewProvider {
static var previews: some View {
ExperimentalFeaturesView()
}
}

View File

@@ -25,7 +25,6 @@ private enum NetworkAlert: Identifiable {
struct NetworkAndServers: View {
@AppStorage(DEFAULT_DEVELOPER_TOOLS) private var developerTools = false
@AppStorage(GROUP_DEFAULT_XFTP_SEND_ENABLED, store: groupDefaults) private var xftpSendEnabled = false
@State private var cfgLoaded = false
@State private var currentNetCfg = NetCfg.defaults
@State private var netCfg = NetCfg.defaults
@@ -44,13 +43,11 @@ struct NetworkAndServers: View {
Text("SMP servers")
}
if xftpSendEnabled {
NavigationLink {
ProtocolServersView(serverProtocol: .xftp)
.navigationTitle("Your XFTP servers")
} label: {
Text("XFTP servers")
}
NavigationLink {
ProtocolServersView(serverProtocol: .xftp)
.navigationTitle("Your XFTP servers")
} label: {
Text("XFTP servers")
}
Picker("Use .onion hosts", selection: $onionHosts) {

View File

@@ -232,14 +232,6 @@ struct SettingsView: View {
} label: {
settingsRow("info") { Text("About SimpleX Chat") }
}
// NavigationLink {
// MarkdownHelp()
// .padding()
// .navigationTitle("How to use markdown")
// .frame(maxHeight: .infinity, alignment: .top)
// } label: {
// settingsRow("textformat") { Text("Markdown in messages") }
// }
settingsRow("number") {
Button("Send questions and ideas") {
showSettings = false
@@ -278,12 +270,6 @@ struct SettingsView: View {
} label: {
settingsRow("chevron.left.forwardslash.chevron.right") { Text("Developer tools") }
}
// NavigationLink {
// ExperimentalFeaturesView()
// .navigationTitle("Experimental features")
// } label: {
// settingsRow("gauge") { Text("Experimental features") }
// }
NavigationLink {
VersionView()
.navigationBarTitle("App version")

View File

@@ -625,10 +625,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Špatné ID zprávy</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Špatný hash zprávy</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -1170,6 +1172,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Chyba dešifrování</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -2264,6 +2267,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Může se to stát, když vy nebo vaše připojení použijete starou zálohu databáze.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2275,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Může se to stát, když:
1. Zprávy vypršely v odesílajícím klientovi po 2 dnech nebo na serveru po 30 dnech.
2. Dešifrování zprávy se nezdařilo, protože vy nebo váš kontakt jste použili starou zálohu databáze.
3. Spojení je kompromitováno.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2847,6 +2855,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Chyba dešifrování</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2900,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Nahlaste to prosím vývojářům.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -3347,11 +3357,6 @@ Available in v5.1</source>
<target>Odeslat je z galerie nebo vlastní klávesnice.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Odeslat soubory přes XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Odesílatel zrušil přenos souboru.</target>
@@ -3715,6 +3720,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>ID další zprávy je nesprávné (menší nebo rovno předchozí).
Může se to stát kvůli nějaké chybě, nebo pokud je spojení kompromitováno.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3756,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>Hash předchozí zprávy se liší.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3826,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Tato chyba je pro toto připojení trvalá, připojte se znovu.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -625,10 +625,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Falsche Nachrichten-ID</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Ungültiger Nachrichten-Hash</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -1170,6 +1172,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Entschlüsselungsfehler</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -2264,6 +2267,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Dies kann passieren, falls Sie oder Ihre Verbindung ein altes Datenbank-Backup genutzt haben.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2275,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Dies kann unter folgenden Umständen passieren:
1. Die Nachrichten verfallen auf dem sendenden Client-System nach 2 Tagen oder auf dem Server nach 30 Tagen.
2. Die Nachrichten-Entschlüsselung ist fehlgeschlagen, da von Ihnen oder Ihrem Kontakt ein altes Datenbank-Backup genutzt wurde.
3. Die Verbindung wurde kompromittiert.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2847,6 +2855,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Entschlüsselungsfehler</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2900,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Bitte melden Sie es den Entwicklern.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -3347,11 +3357,6 @@ Available in v5.1</source>
<target>Senden Sie diese aus dem Fotoalbum oder von individuellen Tastaturen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Dateien per XFTP versenden</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Der Absender hat die Dateiübertragung abgebrochen.</target>
@@ -3715,6 +3720,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>Die ID der nächsten Nachricht ist falsch (kleiner oder gleich der Vorherigen).
Dies kann passieren, wenn es einen Fehler gegeben hat oder die Verbindung kompromittiert wurde.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3756,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>Der Hash der vorherigen Nachricht ist unterschiedlich.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3826,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Es handelt sich um einen permanenten Fehler für diese Verbindung - bitte verbinden Sie sich neu.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -3377,11 +3377,6 @@ Available in v5.1</target>
<target>Send them from gallery or custom keyboards.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Send videos and files via XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Sender cancelled file transfer.</target>

View File

@@ -625,10 +625,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>ID de mensaje incorrecto</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Hash de mensaje incorrecto</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -1170,6 +1172,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Error de descifrado</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -2264,6 +2267,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Puede ocurrir cuando tu o tu contacto estáis usando una copia de seguridad antigua de la base de datos.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2275,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Esto puede suceder cuando:
1. Los mensajes caducan en el cliente saliente tras 2 días o en el servidor tras 30 días.
2. El descifrado ha fallado porque tu o tu contacto estáis usando una copia de seguridad antigua de la base de datos.
3. La conexión ha sido comprometida.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2847,6 +2855,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Error de descifrado</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2900,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Por favor, informa a los desarrolladores.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -3347,11 +3357,6 @@ Available in v5.1</source>
<target>Envíalos desde la galería o desde teclados personalizados.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Enviar archivos vía XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>El remitente ha cancelado la transferencia de archivos.</target>
@@ -3715,6 +3720,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>El ID del siguiente mensaje es incorrecto (menor o igual que el anterior).
Puede ocurrir por algún bug o cuando la conexión está comprometida.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3756,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>El hash del mensaje anterior es diferente.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3826,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>El error es permanente para esta conexión, por favor vuelve a conectarte.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -455,6 +455,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow calls only if your contact allows them." xml:space="preserve">
<source>Allow calls only if your contact allows them.</source>
<target>Autoriser les appels que si votre contact les autorise.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow disappearing messages only if your contact allows it to you." xml:space="preserve">
@@ -499,6 +500,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow your contacts to call you." xml:space="preserve">
<source>Allow your contacts to call you.</source>
<target>Autorise vos contacts à vous appeler.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow your contacts to irreversibly delete sent messages." xml:space="preserve">
@@ -577,10 +579,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Audio/video calls" xml:space="preserve">
<source>Audio/video calls</source>
<target>Appels audio/vidéo</target>
<note>chat feature</note>
</trans-unit>
<trans-unit id="Audio/video calls are prohibited." xml:space="preserve">
<source>Audio/video calls are prohibited.</source>
<target>Interdire les appels audio/vidéo.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Authentication cancelled" xml:space="preserve">
@@ -625,10 +629,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Mauvais ID de message</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Mauvais hash de message</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -638,6 +644,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Both you and your contact can make calls." xml:space="preserve">
<source>Both you and your contact can make calls.</source>
<target>Vous et votre contact pouvez tous deux passer des appels.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can send disappearing messages." xml:space="preserve">
@@ -1170,6 +1177,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Erreur de déchiffrement</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -1838,6 +1846,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="File will be deleted from servers." xml:space="preserve">
<source>File will be deleted from servers.</source>
<target>Le fichier sera supprimé des serveurs.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be received when your contact completes uploading it." xml:space="preserve">
@@ -2264,6 +2273,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Cela peut se produire lorsque vous ou votre contact avez utilisé une ancienne sauvegarde de base de données.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2281,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Cela peut arriver quand :
1. Les messages ont expiré dans le client expéditeur après 2 jours ou sur le serveur après 30 jours.
2. Le déchiffrement du message a échoué, car vous ou votre contact avez utilisé une ancienne sauvegarde de base de données.
3. La connexion a été compromise.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2714,6 +2728,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only you can make calls." xml:space="preserve">
<source>Only you can make calls.</source>
<target>Vous seul pouvez passer des appels.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only you can send disappearing messages." xml:space="preserve">
@@ -2733,6 +2748,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only your contact can make calls." xml:space="preserve">
<source>Only your contact can make calls.</source>
<target>Seul votre contact peut passer des appels.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only your contact can send disappearing messages." xml:space="preserve">
@@ -2847,6 +2863,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Erreur de déchiffrement</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2908,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Veuillez le signaler aux développeurs.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -2964,6 +2982,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Prohibit audio/video calls." xml:space="preserve">
<source>Prohibit audio/video calls.</source>
<target>Interdire les appels audio/vidéo.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Prohibit irreversible message deletion." xml:space="preserve">
@@ -3033,6 +3052,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Receiving file will be stopped." xml:space="preserve">
<source>Receiving file will be stopped.</source>
<target>La réception du fichier sera interrompue.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Receiving via" xml:space="preserve">
@@ -3162,14 +3182,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Revoke" xml:space="preserve">
<source>Revoke</source>
<target>Révoquer</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Revoke file" xml:space="preserve">
<source>Revoke file</source>
<target>Révoquer le fichier</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Revoke file?" xml:space="preserve">
<source>Revoke file?</source>
<target>Révoquer le fichier ?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Role" xml:space="preserve">
@@ -3347,11 +3370,6 @@ Available in v5.1</source>
<target>Envoyez-les depuis la phototèque ou des claviers personnalisés.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Envoi de fichiers via XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>L'expéditeur a annulé le transfert de fichiers.</target>
@@ -3364,6 +3382,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Sending file will be stopped." xml:space="preserve">
<source>Sending file will be stopped.</source>
<target>L'envoi du fichier sera interrompu.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sending via" xml:space="preserve">
@@ -3592,14 +3611,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Stop file" xml:space="preserve">
<source>Stop file</source>
<target>Arrêter le fichier</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Stop receiving file?" xml:space="preserve">
<source>Stop receiving file?</source>
<target>Arrêter de recevoir le fichier ?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Stop sending file?" xml:space="preserve">
<source>Stop sending file?</source>
<target>Arrêter l'envoi du fichier ?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Submit" xml:space="preserve">
@@ -3715,6 +3737,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>L'ID du message suivant est incorrect (inférieur ou égal au précédent).
Cela peut se produire en raison d'un bug ou lorsque la connexion est compromise.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3773,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>Le hash du message précédent est différent.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3843,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Cette erreur est persistante pour cette connexion, veuillez vous reconnecter.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -455,6 +455,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow calls only if your contact allows them." xml:space="preserve">
<source>Allow calls only if your contact allows them.</source>
<target>Consenti le chiamate solo se il contatto le consente.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow disappearing messages only if your contact allows it to you." xml:space="preserve">
@@ -499,6 +500,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow your contacts to call you." xml:space="preserve">
<source>Allow your contacts to call you.</source>
<target>Consenti ai tuoi contatti di chiamarti.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow your contacts to irreversibly delete sent messages." xml:space="preserve">
@@ -577,10 +579,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Audio/video calls" xml:space="preserve">
<source>Audio/video calls</source>
<target>Chiamate audio/video</target>
<note>chat feature</note>
</trans-unit>
<trans-unit id="Audio/video calls are prohibited." xml:space="preserve">
<source>Audio/video calls are prohibited.</source>
<target>Le chiamate audio/video sono vietate.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Authentication cancelled" xml:space="preserve">
@@ -625,10 +629,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>ID del messaggio errato</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Hash del messaggio errato</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -638,6 +644,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Both you and your contact can make calls." xml:space="preserve">
<source>Both you and your contact can make calls.</source>
<target>Sia tu che il tuo contatto potete effettuare chiamate.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can send disappearing messages." xml:space="preserve">
@@ -1170,6 +1177,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Errore di decifrazione</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -1838,6 +1846,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="File will be deleted from servers." xml:space="preserve">
<source>File will be deleted from servers.</source>
<target>Il file verrà eliminato dai server.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be received when your contact completes uploading it." xml:space="preserve">
@@ -2264,6 +2273,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Può accadere quando tu o il tuo contatto avete usato il backup del database vecchio.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2281,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Può accadere quando:
1. I messaggi sono scaduti sul client mittente dopo 2 giorni o sul server dopo 30 giorni.
2. La decifrazione del messaggio è fallita, perché tu o il tuo contatto avete usato un backup del database vecchio.
3. La connessione è stata compromessa.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2714,6 +2728,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only you can make calls." xml:space="preserve">
<source>Only you can make calls.</source>
<target>Solo tu puoi effettuare chiamate.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only you can send disappearing messages." xml:space="preserve">
@@ -2733,6 +2748,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only your contact can make calls." xml:space="preserve">
<source>Only your contact can make calls.</source>
<target>Solo il tuo contatto può effettuare chiamate.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only your contact can send disappearing messages." xml:space="preserve">
@@ -2847,6 +2863,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Errore di decifrazione</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2908,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Si prega di segnalarlo agli sviluppatori.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -2964,6 +2982,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Prohibit audio/video calls." xml:space="preserve">
<source>Prohibit audio/video calls.</source>
<target>Proibisci le chiamate audio/video.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Prohibit irreversible message deletion." xml:space="preserve">
@@ -3033,6 +3052,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Receiving file will be stopped." xml:space="preserve">
<source>Receiving file will be stopped.</source>
<target>La ricezione del file verrà interrotta.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Receiving via" xml:space="preserve">
@@ -3162,14 +3182,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Revoke" xml:space="preserve">
<source>Revoke</source>
<target>Revoca</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Revoke file" xml:space="preserve">
<source>Revoke file</source>
<target>Revoca file</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Revoke file?" xml:space="preserve">
<source>Revoke file?</source>
<target>Revocare il file?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Role" xml:space="preserve">
@@ -3347,11 +3370,6 @@ Available in v5.1</source>
<target>Inviali dalla galleria o dalle tastiere personalizzate.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Invia file tramite XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Il mittente ha annullato il trasferimento del file.</target>
@@ -3364,6 +3382,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Sending file will be stopped." xml:space="preserve">
<source>Sending file will be stopped.</source>
<target>L'invio del file verrà interrotto.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sending via" xml:space="preserve">
@@ -3592,14 +3611,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Stop file" xml:space="preserve">
<source>Stop file</source>
<target>Ferma file</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Stop receiving file?" xml:space="preserve">
<source>Stop receiving file?</source>
<target>Fermare la ricezione del file?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Stop sending file?" xml:space="preserve">
<source>Stop sending file?</source>
<target>Fermare l'invio del file?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Submit" xml:space="preserve">
@@ -3715,6 +3737,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>L'ID del messaggio successivo non è corretto (inferiore o uguale al precedente).
Può accadere a causa di qualche bug o quando la connessione è compromessa.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3773,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>L'hash del messaggio precedente è diverso.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3843,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>L'errore è permanente per questa connessione, riconnettiti.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -15,6 +15,8 @@
<trans-unit id="&#10;Available in v5.1" xml:space="preserve">
<source>
Available in v5.1</source>
<target>
Beschikbaar in v5.1</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id=" " xml:space="preserve">
@@ -199,10 +201,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="%u messages failed to decrypt." xml:space="preserve">
<source>%u messages failed to decrypt.</source>
<target>%u-berichten kunnen niet worden gedecodeerd.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="%u messages skipped." xml:space="preserve">
<source>%u messages skipped.</source>
<target>%u berichten zijn overgeslagen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="(" xml:space="preserve">
@@ -455,6 +459,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow calls only if your contact allows them." xml:space="preserve">
<source>Allow calls only if your contact allows them.</source>
<target>Sta oproepen alleen toe als uw contact persoon dit toestaat.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow disappearing messages only if your contact allows it to you." xml:space="preserve">
@@ -499,6 +504,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow your contacts to call you." xml:space="preserve">
<source>Allow your contacts to call you.</source>
<target>Sta toe dat uw contacten u bellen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow your contacts to irreversibly delete sent messages." xml:space="preserve">
@@ -543,6 +549,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="App passcode" xml:space="preserve">
<source>App passcode</source>
<target>App toegangscode</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="App version" xml:space="preserve">
@@ -577,10 +584,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Audio/video calls" xml:space="preserve">
<source>Audio/video calls</source>
<target>Audio/video oproepen</target>
<note>chat feature</note>
</trans-unit>
<trans-unit id="Audio/video calls are prohibited." xml:space="preserve">
<source>Audio/video calls are prohibited.</source>
<target>Audio/video gesprekken zijn verboden.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Authentication cancelled" xml:space="preserve">
@@ -625,10 +634,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Onjuiste bericht ID</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Onjuiste bericht hash</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -638,6 +649,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Both you and your contact can make calls." xml:space="preserve">
<source>Both you and your contact can make calls.</source>
<target>Zowel u als uw contact persoon kunnen bellen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can send disappearing messages." xml:space="preserve">
@@ -1170,6 +1182,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Decryptie fout</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -1834,10 +1847,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Fast and no wait until the sender is online!" xml:space="preserve">
<source>Fast and no wait until the sender is online!</source>
<target>Snel en niet wachten tot de afzender online is!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be deleted from servers." xml:space="preserve">
<source>File will be deleted from servers.</source>
<target>Het bestand wordt van de servers verwijderd.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be received when your contact completes uploading it." xml:space="preserve">
@@ -2264,6 +2279,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Het kan gebeuren wanneer u of uw verbinding de oude databaseback-up gebruikte.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2287,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Het kan gebeuren wanneer:
1. De berichten zijn na 2 dagen verlopen bij de verzendende client of na 30 dagen op de server.
2. Decodering van het bericht is mislukt, omdat u of uw contactpersoon een oude databaseback-up heeft gebruikt.
3. De verbinding is verbroken.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2714,6 +2734,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only you can make calls." xml:space="preserve">
<source>Only you can make calls.</source>
<target>Alleen jij kunt bellen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only you can send disappearing messages." xml:space="preserve">
@@ -2733,6 +2754,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only your contact can make calls." xml:space="preserve">
<source>Only your contact can make calls.</source>
<target>Alleen je contact kan bellen.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only your contact can send disappearing messages." xml:space="preserve">
@@ -2847,6 +2869,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Decryptie fout</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2914,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Meld het alsjeblieft aan de ontwikkelaars.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -2910,6 +2934,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Polish interface" xml:space="preserve">
<source>Polish interface</source>
<target>Poolse interface</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Possibly, certificate fingerprint in server address is incorrect" xml:space="preserve">
@@ -2964,6 +2989,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Prohibit audio/video calls." xml:space="preserve">
<source>Prohibit audio/video calls.</source>
<target>Audio/video gesprekken verbieden.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Prohibit irreversible message deletion." xml:space="preserve">
@@ -3033,6 +3059,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Receiving file will be stopped." xml:space="preserve">
<source>Receiving file will be stopped.</source>
<target>Het ontvangen van het bestand wordt gestopt.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Receiving via" xml:space="preserve">
@@ -3162,14 +3189,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Revoke" xml:space="preserve">
<source>Revoke</source>
<target>Intrekken</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Revoke file" xml:space="preserve">
<source>Revoke file</source>
<target>Bestand intrekken</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Revoke file?" xml:space="preserve">
<source>Revoke file?</source>
<target>Bestand intrekken?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Role" xml:space="preserve">
@@ -3347,11 +3377,6 @@ Available in v5.1</source>
<target>Stuur ze vanuit de galerij of aangepaste toetsenborden.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Bestanden verzenden via XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Afzender heeft bestandsoverdracht geannuleerd.</target>
@@ -3364,6 +3389,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Sending file will be stopped." xml:space="preserve">
<source>Sending file will be stopped.</source>
<target>Het verzenden van het bestand wordt gestopt.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sending via" xml:space="preserve">
@@ -3418,6 +3444,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Set it instead of system authentication." xml:space="preserve">
<source>Set it instead of system authentication.</source>
<target>Stel het in in plaats van systeemverificatie.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Set passphrase to export" xml:space="preserve">
@@ -3592,14 +3619,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Stop file" xml:space="preserve">
<source>Stop file</source>
<target>Bestand stoppen</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Stop receiving file?" xml:space="preserve">
<source>Stop receiving file?</source>
<target>Stopt met het ontvangen van een bestand?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Stop sending file?" xml:space="preserve">
<source>Stop sending file?</source>
<target>Bestand verzenden stoppen?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Submit" xml:space="preserve">
@@ -3715,6 +3745,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>De ID van het volgende bericht is onjuist (minder of gelijk aan het vorige).
Het kan gebeuren vanwege een bug of wanneer de verbinding is aangetast.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3781,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>De hash van het vorige bericht is anders.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3851,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Deze fout is permanent voor deze verbinding, maak opnieuw verbinding.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">
@@ -4116,6 +4150,7 @@ Om verbinding te maken, vraagt u uw contactpersoon om een andere verbinding link
</trans-unit>
<trans-unit id="Videos and files up to 1gb" xml:space="preserve">
<source>Videos and files up to 1gb</source>
<target>Video's en bestanden tot 1 GB</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="View security code" xml:space="preserve">

View File

@@ -15,6 +15,8 @@
<trans-unit id="&#10;Available in v5.1" xml:space="preserve">
<source>
Available in v5.1</source>
<target>
Dostępny w v5.1</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id=" " xml:space="preserve">
@@ -199,10 +201,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="%u messages failed to decrypt." xml:space="preserve">
<source>%u messages failed to decrypt.</source>
<target>Nie udało się odszyfrować %u wiadomości.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="%u messages skipped." xml:space="preserve">
<source>%u messages skipped.</source>
<target>%u pominiętych wiadomości.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="(" xml:space="preserve">
@@ -455,6 +459,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow calls only if your contact allows them." xml:space="preserve">
<source>Allow calls only if your contact allows them.</source>
<target>Zezwalaj na połączenia tylko wtedy, gdy Twój kontakt na to pozwala.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow disappearing messages only if your contact allows it to you." xml:space="preserve">
@@ -499,6 +504,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow your contacts to call you." xml:space="preserve">
<source>Allow your contacts to call you.</source>
<target>Zezwól swoim kontaktom na połączenia do Ciebie.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow your contacts to irreversibly delete sent messages." xml:space="preserve">
@@ -543,6 +549,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="App passcode" xml:space="preserve">
<source>App passcode</source>
<target>Pin aplikacji</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="App version" xml:space="preserve">
@@ -577,10 +584,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Audio/video calls" xml:space="preserve">
<source>Audio/video calls</source>
<target>Połączenia audio/wideo</target>
<note>chat feature</note>
</trans-unit>
<trans-unit id="Audio/video calls are prohibited." xml:space="preserve">
<source>Audio/video calls are prohibited.</source>
<target>Połączenia audio/wideo są zabronione.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Authentication cancelled" xml:space="preserve">
@@ -625,10 +634,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Zły identyfikator wiadomości</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Zły hash wiadomości</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -638,6 +649,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Both you and your contact can make calls." xml:space="preserve">
<source>Both you and your contact can make calls.</source>
<target>Zarówno Ty, jak i Twój kontakt możecie nawiązywać połączenia.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can send disappearing messages." xml:space="preserve">
@@ -1170,6 +1182,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Błąd odszyfrowania</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -1834,10 +1847,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Fast and no wait until the sender is online!" xml:space="preserve">
<source>Fast and no wait until the sender is online!</source>
<target>Szybko i bez czekania aż nadawca będzie online!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be deleted from servers." xml:space="preserve">
<source>File will be deleted from servers.</source>
<target>Plik zostanie usunięty z serwerów.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be received when your contact completes uploading it." xml:space="preserve">
@@ -2264,6 +2279,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Może się to zdarzyć, gdy Ty lub Twoje połączenie użyło starej kopii zapasowej bazy danych.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2287,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Może to nastąpić, gdy:
1. Wiadomości wygasły w wysyłającym kliencie po 2 dniach lub na serwerze po 30 dniach.
2. Odszyfrowanie wiadomości nie powiodło się, ponieważ Ty lub Twój kontakt użyliście starej kopii zapasowej bazy danych.
3. Połączenie zostało skompromitowane.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2714,6 +2734,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only you can make calls." xml:space="preserve">
<source>Only you can make calls.</source>
<target>Tylko Ty możesz wykonywać połączenia.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only you can send disappearing messages." xml:space="preserve">
@@ -2733,6 +2754,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only your contact can make calls." xml:space="preserve">
<source>Only your contact can make calls.</source>
<target>Tylko Twój kontakt może wykonywać połączenia.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only your contact can send disappearing messages." xml:space="preserve">
@@ -2847,6 +2869,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Błąd odszyfrowania</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2914,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Prosimy o zgłaszanie tego do deweloperów.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -2910,6 +2934,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Polish interface" xml:space="preserve">
<source>Polish interface</source>
<target>Polski interfejs</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Possibly, certificate fingerprint in server address is incorrect" xml:space="preserve">
@@ -2964,6 +2989,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Prohibit audio/video calls." xml:space="preserve">
<source>Prohibit audio/video calls.</source>
<target>Zabroń połączeń audio/wideo.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Prohibit irreversible message deletion." xml:space="preserve">
@@ -3033,6 +3059,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Receiving file will be stopped." xml:space="preserve">
<source>Receiving file will be stopped.</source>
<target>Odbieranie pliku zostanie przerwane.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Receiving via" xml:space="preserve">
@@ -3162,14 +3189,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Revoke" xml:space="preserve">
<source>Revoke</source>
<target>Odwołaj</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Revoke file" xml:space="preserve">
<source>Revoke file</source>
<target>Odwołaj plik</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Revoke file?" xml:space="preserve">
<source>Revoke file?</source>
<target>Odwołać plik?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Role" xml:space="preserve">
@@ -3347,11 +3377,6 @@ Available in v5.1</source>
<target>Wyślij je z galerii lub niestandardowych klawiatur.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Wysyłaj filmy i pliki przez XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Nadawca anulował transfer pliku.</target>
@@ -3364,6 +3389,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Sending file will be stopped." xml:space="preserve">
<source>Sending file will be stopped.</source>
<target>Wysyłanie pliku zostanie przerwane.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sending via" xml:space="preserve">
@@ -3418,6 +3444,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Set it instead of system authentication." xml:space="preserve">
<source>Set it instead of system authentication.</source>
<target>Ustaw go zamiast uwierzytelniania systemowego.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Set passphrase to export" xml:space="preserve">
@@ -3592,14 +3619,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Stop file" xml:space="preserve">
<source>Stop file</source>
<target>Zatrzymaj plik</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Stop receiving file?" xml:space="preserve">
<source>Stop receiving file?</source>
<target>Przestać odbierać plik?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Stop sending file?" xml:space="preserve">
<source>Stop sending file?</source>
<target>Przestać wysyłać plik?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Submit" xml:space="preserve">
@@ -3715,6 +3745,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>Identyfikator następnej wiadomości jest nieprawidłowy (mniejszy lub równy poprzedniej).
Może się to zdarzyć z powodu jakiegoś błędu lub gdy połączenie jest skompromitowane.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3781,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>Hash poprzedniej wiadomości jest inny.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3851,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Ten błąd jest trwały dla tego połączenia, proszę o ponowne połączenie.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">
@@ -4116,6 +4150,7 @@ Aby się połączyć, poproś Twój kontakt o utworzenie kolejnego linku połąc
</trans-unit>
<trans-unit id="Videos and files up to 1gb" xml:space="preserve">
<source>Videos and files up to 1gb</source>
<target>Filmy i pliki do 1gb</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="View security code" xml:space="preserve">

View File

@@ -15,6 +15,8 @@
<trans-unit id="&#10;Available in v5.1" xml:space="preserve">
<source>
Available in v5.1</source>
<target>
Доступно в v5.1</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id=" " xml:space="preserve">
@@ -149,6 +151,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="%lld minutes" xml:space="preserve">
<source>%lld minutes</source>
<target>%lld минуты</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="%lld second(s)" xml:space="preserve">
@@ -158,6 +161,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="%lld seconds" xml:space="preserve">
<source>%lld seconds</source>
<target>%lld секунд</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="%lldd" xml:space="preserve">
@@ -197,10 +201,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="%u messages failed to decrypt." xml:space="preserve">
<source>%u messages failed to decrypt.</source>
<target>%u сообщений не могут быть расшифрованы.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="%u messages skipped." xml:space="preserve">
<source>%u messages skipped.</source>
<target>%u сообщений пропущено.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="(" xml:space="preserve">
@@ -453,6 +459,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow calls only if your contact allows them." xml:space="preserve">
<source>Allow calls only if your contact allows them.</source>
<target>Разрешить звонки, только если их разрешает Ваш контакт.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow disappearing messages only if your contact allows it to you." xml:space="preserve">
@@ -497,6 +504,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Allow your contacts to call you." xml:space="preserve">
<source>Allow your contacts to call you.</source>
<target>Разрешить Вашим контактам звонить Вам.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Allow your contacts to irreversibly delete sent messages." xml:space="preserve">
@@ -541,6 +549,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="App passcode" xml:space="preserve">
<source>App passcode</source>
<target>Код доступа в приложение</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="App version" xml:space="preserve">
@@ -575,14 +584,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Audio/video calls" xml:space="preserve">
<source>Audio/video calls</source>
<target>Аудио/видео звонки</target>
<note>chat feature</note>
</trans-unit>
<trans-unit id="Audio/video calls are prohibited." xml:space="preserve">
<source>Audio/video calls are prohibited.</source>
<target>Аудио/видео звонки запрещены.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Authentication cancelled" xml:space="preserve">
<source>Authentication cancelled</source>
<target>Аутентификация отменена</target>
<note>PIN entry</note>
</trans-unit>
<trans-unit id="Authentication failed" xml:space="preserve">
@@ -622,10 +634,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>Ошибка ID сообщения</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>Ошибка хэш сообщения</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -635,6 +649,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Both you and your contact can make calls." xml:space="preserve">
<source>Both you and your contact can make calls.</source>
<target>Вы и Ваш контакт можете совершать звонки.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can send disappearing messages." xml:space="preserve">
@@ -699,6 +714,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Change Passcode" xml:space="preserve">
<source>Change Passcode</source>
<target>Изменить код доступа</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Change database passphrase?" xml:space="preserve">
@@ -708,6 +724,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Change lock mode" xml:space="preserve">
<source>Change lock mode</source>
<target>Изменить режим блокировки</target>
<note>authentication reason</note>
</trans-unit>
<trans-unit id="Change member role?" xml:space="preserve">
@@ -717,6 +734,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Change passcode" xml:space="preserve">
<source>Change passcode</source>
<target>Изменить код доступа</target>
<note>authentication reason</note>
</trans-unit>
<trans-unit id="Change receiving address" xml:space="preserve">
@@ -826,6 +844,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Compare file" xml:space="preserve">
<source>Compare file</source>
<target>Сравнение файла</target>
<note>server test step</note>
</trans-unit>
<trans-unit id="Compare security codes with your contacts." xml:space="preserve">
@@ -845,6 +864,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Confirm Passcode" xml:space="preserve">
<source>Confirm Passcode</source>
<target>Подтвердить Код</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Confirm database upgrades" xml:space="preserve">
@@ -1004,6 +1024,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Create file" xml:space="preserve">
<source>Create file</source>
<target>Создание файла</target>
<note>server test step</note>
</trans-unit>
<trans-unit id="Create group link" xml:space="preserve">
@@ -1043,6 +1064,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Current Passcode" xml:space="preserve">
<source>Current Passcode</source>
<target>Текущий Код</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Current passphrase…" xml:space="preserve">
@@ -1160,6 +1182,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>Ошибка расшифровки</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -1234,6 +1257,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Delete file" xml:space="preserve">
<source>Delete file</source>
<target>Удалить файл</target>
<note>server test step</note>
</trans-unit>
<trans-unit id="Delete files and media?" xml:space="preserve">
@@ -1438,6 +1462,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Download file" xml:space="preserve">
<source>Download file</source>
<target>Загрузка файла</target>
<note>server test step</note>
</trans-unit>
<trans-unit id="Duplicate display name!" xml:space="preserve">
@@ -1482,6 +1507,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Enable lock" xml:space="preserve">
<source>Enable lock</source>
<target>Включить блокировку</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Enable notifications" xml:space="preserve">
@@ -1541,6 +1567,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Enter Passcode" xml:space="preserve">
<source>Enter Passcode</source>
<target>Введите Код</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Enter correct passphrase." xml:space="preserve">
@@ -1685,6 +1712,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Error loading %@ servers" xml:space="preserve">
<source>Error loading %@ servers</source>
<target>Ошибка загрузки %@ серверов</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Error receiving file" xml:space="preserve">
@@ -1714,6 +1742,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Error saving passcode" xml:space="preserve">
<source>Error saving passcode</source>
<target>Ошибка сохранения кода</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Error saving passphrase to keychain" xml:space="preserve">
@@ -1818,10 +1847,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Fast and no wait until the sender is online!" xml:space="preserve">
<source>Fast and no wait until the sender is online!</source>
<target>Быстрые и не нужно ждать, когда отправитель онлайн!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be deleted from servers." xml:space="preserve">
<source>File will be deleted from servers.</source>
<target>Файл будет удалён с серверов.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="File will be received when your contact completes uploading it." xml:space="preserve">
@@ -2091,6 +2122,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Immediately" xml:space="preserve">
<source>Immediately</source>
<target>Сразу</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Immune to spam and abuse" xml:space="preserve">
@@ -2165,6 +2197,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Incorrect passcode" xml:space="preserve">
<source>Incorrect passcode</source>
<target>Неправильный код</target>
<note>PIN entry</note>
</trans-unit>
<trans-unit id="Incorrect security code!" xml:space="preserve">
@@ -2246,6 +2279,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>Это может произойти, когда Вы или Ваш контакт используете старую копию базы данных.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2253,6 +2287,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>Это может произойти, когда:
1. Клиент отправителя удалил неотправленные сообщения через 2 дня, или сервер через 30 дней.
2. Расшифровка сообщения была невозможна, когда Вы или Ваш контакт использовали старую копию базы данных.
3. Соединение компроментировано.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2287,6 +2325,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="KeyChain error" xml:space="preserve">
<source>KeyChain error</source>
<target>Ошибка KeyChain</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Keychain error" xml:space="preserve">
@@ -2351,10 +2390,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Lock after" xml:space="preserve">
<source>Lock after</source>
<target>Заблокировать через</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Lock mode" xml:space="preserve">
<source>Lock mode</source>
<target>Режим блокировки</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Make a private connection" xml:space="preserve">
@@ -2529,6 +2570,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="New Passcode" xml:space="preserve">
<source>New Passcode</source>
<target>Новый Код</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="New contact request" xml:space="preserve">
@@ -2573,6 +2615,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="No app password" xml:space="preserve">
<source>No app password</source>
<target>Нет кода доступа</target>
<note>Authentication unavailable</note>
</trans-unit>
<trans-unit id="No contacts selected" xml:space="preserve">
@@ -2626,6 +2669,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Off" xml:space="preserve">
<source>Off</source>
<target>Выключено</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Off (Local)" xml:space="preserve">
@@ -2690,6 +2734,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only you can make calls." xml:space="preserve">
<source>Only you can make calls.</source>
<target>Только Вы можете совершать звонки.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only you can send disappearing messages." xml:space="preserve">
@@ -2709,6 +2754,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Only your contact can make calls." xml:space="preserve">
<source>Only your contact can make calls.</source>
<target>Только Ваш контакт может совершать звонки.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Only your contact can send disappearing messages." xml:space="preserve">
@@ -2763,22 +2809,27 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Passcode" xml:space="preserve">
<source>Passcode</source>
<target>Код доступа</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Passcode changed!" xml:space="preserve">
<source>Passcode changed!</source>
<target>Код доступа изменён!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Passcode entry" xml:space="preserve">
<source>Passcode entry</source>
<target>Ввод кода доступа</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Passcode not changed!" xml:space="preserve">
<source>Passcode not changed!</source>
<target>Код доступа не изменён!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Passcode set!" xml:space="preserve">
<source>Passcode set!</source>
<target>Код доступа установлен!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Password to show" xml:space="preserve">
@@ -2818,6 +2869,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>Ошибка расшифровки</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2857,10 +2909,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please remember or store it securely - there is no way to recover a lost passcode!" xml:space="preserve">
<source>Please remember or store it securely - there is no way to recover a lost passcode!</source>
<target>Пожалуйста, запомните или сохраните его - восстановить потерянный пароль невозможно!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>Пожалуйста, сообщите об этой ошибке девелоперам.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -2880,6 +2934,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Polish interface" xml:space="preserve">
<source>Polish interface</source>
<target>Польский интерфейс</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Possibly, certificate fingerprint in server address is incorrect" xml:space="preserve">
@@ -2934,6 +2989,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Prohibit audio/video calls." xml:space="preserve">
<source>Prohibit audio/video calls.</source>
<target>Запретить аудио/видео звонки.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Prohibit irreversible message deletion." xml:space="preserve">
@@ -3003,6 +3059,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Receiving file will be stopped." xml:space="preserve">
<source>Receiving file will be stopped.</source>
<target>Приём файла будет прекращён.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Receiving via" xml:space="preserve">
@@ -3132,14 +3189,17 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Revoke" xml:space="preserve">
<source>Revoke</source>
<target>Отозвать</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Revoke file" xml:space="preserve">
<source>Revoke file</source>
<target>Отозвать файл</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Revoke file?" xml:space="preserve">
<source>Revoke file?</source>
<target>Отозвать файл?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Role" xml:space="preserve">
@@ -3317,11 +3377,6 @@ Available in v5.1</source>
<target>Отправьте из галереи или из дополнительных клавиатур.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>Отправлять видео и файлы через XFTP</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>Отправитель отменил передачу файла.</target>
@@ -3334,6 +3389,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Sending file will be stopped." xml:space="preserve">
<source>Sending file will be stopped.</source>
<target>Отправка файла будет остановлена.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sending via" xml:space="preserve">
@@ -3358,6 +3414,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Server requires authorization to upload, check password" xml:space="preserve">
<source>Server requires authorization to upload, check password</source>
<target>Сервер требует авторизации для загрузки, проверьте пароль</target>
<note>server test error</note>
</trans-unit>
<trans-unit id="Server test failed!" xml:space="preserve">
@@ -3387,6 +3444,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Set it instead of system authentication." xml:space="preserve">
<source>Set it instead of system authentication.</source>
<target>Установите код вместо системной аутентификации.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Set passphrase to export" xml:space="preserve">
@@ -3466,10 +3524,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="SimpleX Lock mode" xml:space="preserve">
<source>SimpleX Lock mode</source>
<target>Режим Блокировки SimpleX</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="SimpleX Lock not enabled!" xml:space="preserve">
<source>SimpleX Lock not enabled!</source>
<target>Блокировка SimpleX не включена!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="SimpleX Lock turned on" xml:space="preserve">
@@ -3559,18 +3619,22 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Stop file" xml:space="preserve">
<source>Stop file</source>
<target>Остановить файл</target>
<note>cancel file action</note>
</trans-unit>
<trans-unit id="Stop receiving file?" xml:space="preserve">
<source>Stop receiving file?</source>
<target>Остановить приём файла?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Stop sending file?" xml:space="preserve">
<source>Stop sending file?</source>
<target>Остановить отправку файла?</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Submit" xml:space="preserve">
<source>Submit</source>
<target>Продолжить</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Support SimpleX Chat" xml:space="preserve">
@@ -3585,6 +3649,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="System authentication" xml:space="preserve">
<source>System authentication</source>
<target>Системная аутентификация</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="TCP connection timeout" xml:space="preserve">
@@ -3680,6 +3745,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>Неправильный ID предыдущего сообщения (меньше или равен предыдущему).
Это может произойти из-за ошибки программы, или когда соединение компроментировано.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3714,6 +3781,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>Хэш предыдущего сообщения отличается.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3783,6 +3851,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>Эта ошибка постоянная для этого соединения, пожалуйста, соединитесь снова.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">
@@ -3946,6 +4015,7 @@ To connect, please ask your contact to create another connection link and check
</trans-unit>
<trans-unit id="Unlock app" xml:space="preserve">
<source>Unlock app</source>
<target>Разблокировать</target>
<note>authentication reason</note>
</trans-unit>
<trans-unit id="Unmute" xml:space="preserve">
@@ -4000,6 +4070,7 @@ To connect, please ask your contact to create another connection link and check
</trans-unit>
<trans-unit id="Upload file" xml:space="preserve">
<source>Upload file</source>
<target>Загрузка файла</target>
<note>server test step</note>
</trans-unit>
<trans-unit id="Use .onion hosts" xml:space="preserve">
@@ -4069,14 +4140,17 @@ To connect, please ask your contact to create another connection link and check
</trans-unit>
<trans-unit id="Video will be received when your contact completes uploading it." xml:space="preserve">
<source>Video will be received when your contact completes uploading it.</source>
<target>Видео будет получено когда Ваш контакт загрузит его.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Video will be received when your contact is online, please wait or check later!" xml:space="preserve">
<source>Video will be received when your contact is online, please wait or check later!</source>
<target>Видео будет получено, когда Ваш контакт будет онлайн, пожалуйста, подождите или проверьте позже!</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Videos and files up to 1gb" xml:space="preserve">
<source>Videos and files up to 1gb</source>
<target>Видео и файлы до 1гб</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="View security code" xml:space="preserve">
@@ -4121,6 +4195,7 @@ To connect, please ask your contact to create another connection link and check
</trans-unit>
<trans-unit id="Waiting for video" xml:space="preserve">
<source>Waiting for video</source>
<target>Ожидание видео</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Warning: you may lose some data!" xml:space="preserve">
@@ -4257,6 +4332,7 @@ SimpleX Lock must be enabled.</source>
</trans-unit>
<trans-unit id="You can turn on SimpleX Lock via Settings." xml:space="preserve">
<source>You can turn on SimpleX Lock via Settings.</source>
<target>Вы можете включить Блокировку SimpleX через Настройки.</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="You can use markdown to format messages:" xml:space="preserve">

View File

@@ -625,10 +625,12 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Bad message ID" xml:space="preserve">
<source>Bad message ID</source>
<target>错误消息 ID</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Bad message hash" xml:space="preserve">
<source>Bad message hash</source>
<target>错误消息散列</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Both you and your contact can irreversibly delete sent messages." xml:space="preserve">
@@ -1170,6 +1172,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Decryption error" xml:space="preserve">
<source>Decryption error</source>
<target>解密错误</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Delete" xml:space="preserve">
@@ -2264,6 +2267,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="It can happen when you or your connection used the old database backup." xml:space="preserve">
<source>It can happen when you or your connection used the old database backup.</source>
<target>当您或您的连接使用旧数据库备份时,可能会发生这种情况。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It can happen when:&#10;1. The messages expired in the sending client after 2 days or on the server after 30 days.&#10;2. Message decryption failed, because you or your contact used old database backup.&#10;3. The connection was compromised." xml:space="preserve">
@@ -2271,6 +2275,10 @@ Available in v5.1</source>
1. The messages expired in the sending client after 2 days or on the server after 30 days.
2. Message decryption failed, because you or your contact used old database backup.
3. The connection was compromised.</source>
<target>它可能在以下情况发生:
1. 消息在发送客户端 2 天后或在服务器上 30 天后过期。
2. 消息解密失败,因为您或您的联系人使用了旧的数据库备份。
3.连接被破坏。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="It seems like you are already connected via this link. If it is not the case, there was an error (%@)." xml:space="preserve">
@@ -2847,6 +2855,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Permanent decryption error" xml:space="preserve">
<source>Permanent decryption error</source>
<target>解密错误</target>
<note>message decrypt error item</note>
</trans-unit>
<trans-unit id="Please ask your contact to enable sending voice messages." xml:space="preserve">
@@ -2891,6 +2900,7 @@ Available in v5.1</source>
</trans-unit>
<trans-unit id="Please report it to the developers." xml:space="preserve">
<source>Please report it to the developers.</source>
<target>请向开发者报告。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Please restart the app and migrate the database to enable push notifications." xml:space="preserve">
@@ -3347,11 +3357,6 @@ Available in v5.1</source>
<target>发送它们来自图库或自定义键盘。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Send videos and files via XFTP" xml:space="preserve">
<source>Send videos and files via XFTP</source>
<target>通过 XFTP 发送文件</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="Sender cancelled file transfer." xml:space="preserve">
<source>Sender cancelled file transfer.</source>
<target>发送人已取消文件传输。</target>
@@ -3715,6 +3720,8 @@ Available in v5.1</source>
<trans-unit id="The ID of the next message is incorrect (less or equal to the previous).&#10;It can happen because of some bug or when the connection is compromised." xml:space="preserve">
<source>The ID of the next message is incorrect (less or equal to the previous).
It can happen because of some bug or when the connection is compromised.</source>
<target>下一条消息的 ID 不正确(小于或等于上一条)。
它可能是由于某些错误或连接被破坏才发生。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The app can notify you when you receive messages or contact requests - please open settings to enable." xml:space="preserve">
@@ -3749,6 +3756,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="The hash of the previous message is different." xml:space="preserve">
<source>The hash of the previous message is different.</source>
<target>上一条消息的散列不同。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="The message will be deleted for all members." xml:space="preserve">
@@ -3818,6 +3826,7 @@ It can happen because of some bug or when the connection is compromised.</source
</trans-unit>
<trans-unit id="This error is permanent for this connection, please re-connect." xml:space="preserve">
<source>This error is permanent for this connection, please re-connect.</source>
<target>此错误对于此连接是永久性的,请重新连接。</target>
<note>No comment provided by engineer.</note>
</trans-unit>
<trans-unit id="This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." xml:space="preserve">

View File

@@ -42,7 +42,6 @@
5C3A88D127DF57800060F1C2 /* FramedItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3A88D027DF57800060F1C2 /* FramedItemView.swift */; };
5C3F1D562842B68D00EC8A82 /* IntegrityErrorItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3F1D552842B68D00EC8A82 /* IntegrityErrorItemView.swift */; };
5C3F1D58284363C400EC8A82 /* PrivacySettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3F1D57284363C400EC8A82 /* PrivacySettings.swift */; };
5C3F1D5A2844B4DE00EC8A82 /* ExperimentalFeaturesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3F1D592844B4DE00EC8A82 /* ExperimentalFeaturesView.swift */; };
5C4B3B0A285FB130003915F2 /* DatabaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C4B3B09285FB130003915F2 /* DatabaseView.swift */; };
5C5346A827B59A6A004DF848 /* ChatHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C5346A727B59A6A004DF848 /* ChatHelp.swift */; };
5C55A91F283AD0E400C4E99E /* CallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C55A91E283AD0E400C4E99E /* CallManager.swift */; };
@@ -117,6 +116,11 @@
5CC2C0FC2809BF11000C35E3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5CC2C0FA2809BF11000C35E3 /* Localizable.strings */; };
5CC2C0FF2809BF11000C35E3 /* SimpleX--iOS--InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5CC2C0FD2809BF11000C35E3 /* SimpleX--iOS--InfoPlist.strings */; };
5CC868F329EB540C0017BBFD /* CIRcvDecryptionError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CC868F229EB540C0017BBFD /* CIRcvDecryptionError.swift */; };
5CC868FB29EF5DCA0017BBFD /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC868F629EF5DCA0017BBFD /* libgmpxx.a */; };
5CC868FC29EF5DCA0017BBFD /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC868F729EF5DCA0017BBFD /* libgmp.a */; };
5CC868FD29EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC868F829EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a */; };
5CC868FE29EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC868F929EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a */; };
5CC868FF29EF5DCA0017BBFD /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC868FA29EF5DCA0017BBFD /* libffi.a */; };
5CCA7DF32905735700C8FEBA /* AcceptRequestsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CCA7DF22905735700C8FEBA /* AcceptRequestsView.swift */; };
5CCB939C297EFCB100399E78 /* NavStackCompat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CCB939B297EFCB100399E78 /* NavStackCompat.swift */; };
5CCD403427A5F6DF00368C90 /* AddContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CCD403327A5F6DF00368C90 /* AddContactView.swift */; };
@@ -155,11 +159,6 @@
6442E0BA287F169300CEC0F9 /* AddGroupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6442E0B9287F169300CEC0F9 /* AddGroupView.swift */; };
6442E0BE2880182D00CEC0F9 /* GroupChatInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6442E0BD2880182D00CEC0F9 /* GroupChatInfoView.swift */; };
6448BBB628FA9D56000D2AB9 /* GroupLinkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6448BBB528FA9D56000D2AB9 /* GroupLinkView.swift */; };
644E729C29E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E729729E9B496003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a */; };
644E729D29E9B497003534BE /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E729829E9B497003534BE /* libffi.a */; };
644E729E29E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E729929E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a */; };
644E729F29E9B497003534BE /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E729A29E9B497003534BE /* libgmpxx.a */; };
644E72A029E9B497003534BE /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E729B29E9B497003534BE /* libgmp.a */; };
644EFFDE292BCD9D00525D5B /* ComposeVoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 644EFFDD292BCD9D00525D5B /* ComposeVoiceView.swift */; };
644EFFE0292CFD7F00525D5B /* CIVoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 644EFFDF292CFD7F00525D5B /* CIVoiceView.swift */; };
644EFFE2292D089800525D5B /* FramedCIVoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 644EFFE1292D089800525D5B /* FramedCIVoiceView.swift */; };
@@ -276,7 +275,6 @@
5C3A88D027DF57800060F1C2 /* FramedItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FramedItemView.swift; sourceTree = "<group>"; };
5C3F1D552842B68D00EC8A82 /* IntegrityErrorItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrityErrorItemView.swift; sourceTree = "<group>"; };
5C3F1D57284363C400EC8A82 /* PrivacySettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacySettings.swift; sourceTree = "<group>"; };
5C3F1D592844B4DE00EC8A82 /* ExperimentalFeaturesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperimentalFeaturesView.swift; sourceTree = "<group>"; };
5C422A7C27A9A6FA0097A1E1 /* SimpleX (iOS).entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "SimpleX (iOS).entitlements"; sourceTree = "<group>"; };
5C4B3B09285FB130003915F2 /* DatabaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseView.swift; sourceTree = "<group>"; };
5C5346A727B59A6A004DF848 /* ChatHelp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatHelp.swift; sourceTree = "<group>"; };
@@ -386,6 +384,11 @@
5CC2C0FB2809BF11000C35E3 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
5CC2C0FE2809BF11000C35E3 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = "ru.lproj/SimpleX--iOS--InfoPlist.strings"; sourceTree = "<group>"; };
5CC868F229EB540C0017BBFD /* CIRcvDecryptionError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIRcvDecryptionError.swift; sourceTree = "<group>"; };
5CC868F629EF5DCA0017BBFD /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = "<group>"; };
5CC868F729EF5DCA0017BBFD /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = "<group>"; };
5CC868F829EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a"; sourceTree = "<group>"; };
5CC868F929EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a"; sourceTree = "<group>"; };
5CC868FA29EF5DCA0017BBFD /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = "<group>"; };
5CCA7DF22905735700C8FEBA /* AcceptRequestsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcceptRequestsView.swift; sourceTree = "<group>"; };
5CCB939B297EFCB100399E78 /* NavStackCompat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavStackCompat.swift; sourceTree = "<group>"; };
5CCD403327A5F6DF00368C90 /* AddContactView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddContactView.swift; sourceTree = "<group>"; };
@@ -422,11 +425,6 @@
6442E0B9287F169300CEC0F9 /* AddGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddGroupView.swift; sourceTree = "<group>"; };
6442E0BD2880182D00CEC0F9 /* GroupChatInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupChatInfoView.swift; sourceTree = "<group>"; };
6448BBB528FA9D56000D2AB9 /* GroupLinkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupLinkView.swift; sourceTree = "<group>"; };
644E729729E9B496003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a"; sourceTree = "<group>"; };
644E729829E9B497003534BE /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = "<group>"; };
644E729929E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a"; sourceTree = "<group>"; };
644E729A29E9B497003534BE /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = "<group>"; };
644E729B29E9B497003534BE /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = "<group>"; };
644EFFDD292BCD9D00525D5B /* ComposeVoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposeVoiceView.swift; sourceTree = "<group>"; };
644EFFDF292CFD7F00525D5B /* CIVoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIVoiceView.swift; sourceTree = "<group>"; };
644EFFE1292D089800525D5B /* FramedCIVoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FramedCIVoiceView.swift; sourceTree = "<group>"; };
@@ -485,13 +483,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
644E729F29E9B497003534BE /* libgmpxx.a in Frameworks */,
644E72A029E9B497003534BE /* libgmp.a in Frameworks */,
644E729E29E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a in Frameworks */,
5CC868FB29EF5DCA0017BBFD /* libgmpxx.a in Frameworks */,
5CC868FD29EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a in Frameworks */,
5CE2BA93284534B000EC33A6 /* libiconv.tbd in Frameworks */,
644E729C29E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a in Frameworks */,
5CC868FE29EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a in Frameworks */,
5CC868FF29EF5DCA0017BBFD /* libffi.a in Frameworks */,
5CC868FC29EF5DCA0017BBFD /* libgmp.a in Frameworks */,
5CE2BA94284534BB00EC33A6 /* libz.tbd in Frameworks */,
644E729D29E9B497003534BE /* libffi.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -551,11 +549,11 @@
5C764E5C279C70B7000C6508 /* Libraries */ = {
isa = PBXGroup;
children = (
644E729829E9B497003534BE /* libffi.a */,
644E729B29E9B497003534BE /* libgmp.a */,
644E729A29E9B497003534BE /* libgmpxx.a */,
644E729729E9B496003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h-ghc8.10.7.a */,
644E729929E9B497003534BE /* libHSsimplex-chat-5.0.0.0-HDKKvfAWZqx9YjijiAKu4h.a */,
5CC868FA29EF5DCA0017BBFD /* libffi.a */,
5CC868F729EF5DCA0017BBFD /* libgmp.a */,
5CC868F629EF5DCA0017BBFD /* libgmpxx.a */,
5CC868F829EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk-ghc8.10.7.a */,
5CC868F929EF5DCA0017BBFD /* libHSsimplex-chat-5.0.0.1-LqPiC7i8QLW2SE97F6Xmrk.a */,
);
path = Libraries;
sourceTree = "<group>";
@@ -720,7 +718,6 @@
5C93293029239BED0090FFF9 /* ProtocolServerView.swift */,
5C9329402929248A0090FFF9 /* ScanProtocolServer.swift */,
5CB2084E28DA4B4800D024EC /* RTCServers.swift */,
5C3F1D592844B4DE00EC8A82 /* ExperimentalFeaturesView.swift */,
64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */,
18415845648CA4F5A8BCA272 /* UserProfilesView.swift */,
5C65F341297D3F3600B67AF3 /* VersionView.swift */,
@@ -1165,7 +1162,6 @@
5C93293F2928E0FD0090FFF9 /* AudioRecPlay.swift in Sources */,
5C029EA82837DBB3004A9677 /* CICallItemView.swift in Sources */,
5CE4407227ADB1D0007B033A /* Emoji.swift in Sources */,
5C3F1D5A2844B4DE00EC8A82 /* ExperimentalFeaturesView.swift in Sources */,
5CB2085328DB7CAF00D024EC /* ConnectViaLinkView.swift in Sources */,
5C9CC7A928C532AB00BEF955 /* DatabaseErrorView.swift in Sources */,
5C1A4C1E27A715B700EAD5AD /* ChatItemView.swift in Sources */,
@@ -1445,7 +1441,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 143;
DEVELOPMENT_TEAM = 5NN7GUYB6T;
ENABLE_BITCODE = NO;
ENABLE_PREVIEWS = YES;
@@ -1487,7 +1483,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 143;
DEVELOPMENT_TEAM = 5NN7GUYB6T;
ENABLE_BITCODE = NO;
ENABLE_PREVIEWS = YES;
@@ -1567,7 +1563,7 @@
CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 143;
DEVELOPMENT_TEAM = 5NN7GUYB6T;
ENABLE_BITCODE = NO;
GENERATE_INFOPLIST_FILE = YES;
@@ -1599,7 +1595,7 @@
CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 143;
DEVELOPMENT_TEAM = 5NN7GUYB6T;
ENABLE_BITCODE = NO;
GENERATE_INFOPLIST_FILE = YES;

View File

@@ -31,7 +31,6 @@ let GROUP_DEFAULT_STORE_DB_PASSPHRASE = "storeDBPassphrase"
let GROUP_DEFAULT_INITIAL_RANDOM_DB_PASSPHRASE = "initialRandomDBPassphrase"
public let GROUP_DEFAULT_CONFIRM_DB_UPGRADES = "confirmDBUpgrades"
public let GROUP_DEFAULT_CALL_KIT_ENABLED = "callKitEnabled"
public let GROUP_DEFAULT_XFTP_SEND_ENABLED = "xftpSendEnabled"
public let APP_GROUP_NAME = "group.chat.simplex.app"
@@ -56,7 +55,6 @@ public func registerGroupDefaults() {
GROUP_DEFAULT_PRIVACY_TRANSFER_IMAGES_INLINE: false,
GROUP_DEFAULT_CONFIRM_DB_UPGRADES: false,
GROUP_DEFAULT_CALL_KIT_ENABLED: true,
GROUP_DEFAULT_XFTP_SEND_ENABLED: false,
])
}
@@ -129,8 +127,6 @@ public let confirmDBUpgradesGroupDefault = BoolDefault(defaults: groupDefaults,
public let callKitEnabledGroupDefault = BoolDefault(defaults: groupDefaults, forKey: GROUP_DEFAULT_CALL_KIT_ENABLED)
public let xftpSendEnabledGroupDefault = BoolDefault(defaults: groupDefaults, forKey: GROUP_DEFAULT_XFTP_SEND_ENABLED)
public class DateDefault {
var defaults: UserDefaults
var key: String

View File

@@ -383,9 +383,15 @@
/* integrity error chat item */
"bad message hash" = "špatný hash zprávy";
/* No comment provided by engineer. */
"Bad message hash" = "Špatný hash zprávy";
/* integrity error chat item */
"bad message ID" = "špatné ID zprávy";
/* No comment provided by engineer. */
"Bad message ID" = "Špatné ID zprávy";
/* No comment provided by engineer. */
"bold" = "tučně";
@@ -782,6 +788,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Decentralizované";
/* No comment provided by engineer. */
"Decryption error" = "Chyba dešifrování";
/* pref value */
"default (%@)" = "výchozí (%@)";
@@ -1517,6 +1526,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Umožňuje mít v jednom profilu chatu mnoho anonymních spojení bez jakýchkoli sdílených údajů mezi nimi.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Může se to stát, když vy nebo vaše připojení použijete starou zálohu databáze.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Může se to stát, když:\n1. Zprávy vypršely v odesílajícím klientovi po 2 dnech nebo na serveru po 30 dnech.\n2. Dešifrování zprávy se nezdařilo, protože vy nebo váš kontakt jste použili starou zálohu databáze.\n3. Spojení je kompromitováno.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Zdá se, že jste již připojeni prostřednictvím tohoto odkazu. Pokud tomu tak není, došlo k chybě (%@).";
@@ -1914,6 +1929,9 @@
/* No comment provided by engineer. */
"Periodically" = "Pravidelně";
/* message decrypt error item */
"Permanent decryption error" = "Chyba dešifrování";
/* No comment provided by engineer. */
"PING count" = "Počet PING";
@@ -1944,6 +1962,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Zapamatujte si ho nebo bezpečně uložte - neexistuje žádný způsob, jak obnovit ztracený heslo!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Nahlaste to prosím vývojářům.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Restartujte aplikaci a přeneste databázi, abyste povolili doručování oznámení.";
@@ -2223,9 +2244,6 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Odeslat je z galerie nebo vlastní klávesnice.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Odeslat soubory přes XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Odesílatel zrušil přenos souboru.";
@@ -2457,6 +2475,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Skupina je plně decentralizovaná - je viditelná pouze pro členy.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "Hash předchozí zprávy se liší.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "ID další zprávy je nesprávné (menší nebo rovno předchozí).\nMůže se to stát kvůli nějaké chybě, nebo pokud je spojení kompromitováno.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Zpráva bude smazána pro všechny členy.";
@@ -2499,6 +2523,9 @@
/* notification title */
"this contact" = "tento kontakt";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Tato chyba je pro toto připojení trvalá, připojte se znovu.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Tato funkce je experimentální! Bude fungovat pouze v případě, že druhý klient má nainstalovanou verzi 4.2. Po dokončení změny adresy by se měla v konverzaci zobrazit zpráva - zkontrolujte, zda můžete od tohoto kontaktu (nebo člena skupiny) stále přijímat zprávy.";

View File

@@ -383,9 +383,15 @@
/* integrity error chat item */
"bad message hash" = "Ungültiger Nachrichten-Hash";
/* No comment provided by engineer. */
"Bad message hash" = "Ungültiger Nachrichten-Hash";
/* integrity error chat item */
"bad message ID" = "Ungültige Nachrichten-ID";
/* No comment provided by engineer. */
"Bad message ID" = "Falsche Nachrichten-ID";
/* No comment provided by engineer. */
"bold" = "fett";
@@ -782,6 +788,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Dezentral";
/* No comment provided by engineer. */
"Decryption error" = "Entschlüsselungsfehler";
/* pref value */
"default (%@)" = "Voreinstellung (%@)";
@@ -1517,6 +1526,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Er ermöglicht mehrere anonyme Verbindungen in einem einzigen Chat-Profil ohne Daten zwischen diesen zu teilen.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Dies kann passieren, falls Sie oder Ihre Verbindung ein altes Datenbank-Backup genutzt haben.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Dies kann unter folgenden Umständen passieren:\n1. Die Nachrichten verfallen auf dem sendenden Client-System nach 2 Tagen oder auf dem Server nach 30 Tagen.\n2. Die Nachrichten-Entschlüsselung ist fehlgeschlagen, da von Ihnen oder Ihrem Kontakt ein altes Datenbank-Backup genutzt wurde.\n3. Die Verbindung wurde kompromittiert.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Es sieht so aus, dass Sie bereits über diesen Link verbunden sind. Wenn das nicht der Fall, gab es einen Fehler (%@).";
@@ -1914,6 +1929,9 @@
/* No comment provided by engineer. */
"Periodically" = "Periodisch";
/* message decrypt error item */
"Permanent decryption error" = "Entschlüsselungsfehler";
/* No comment provided by engineer. */
"PING count" = "PING Zähler";
@@ -1944,6 +1962,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Es gibt keine Möglichkeit ein vergessenes Passwort wiederherzustellen - bitte erinnern Sie sich gut daran oder speichern Sie es sicher ab!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Bitte melden Sie es den Entwicklern.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Bitte führen Sie einen Neustart der App durch und migrieren Sie die Datenbank, um Benachrichtigungen zu aktivieren.";
@@ -2223,9 +2244,6 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Senden Sie diese aus dem Fotoalbum oder von individuellen Tastaturen.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Dateien per XFTP versenden";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Der Absender hat die Dateiübertragung abgebrochen.";
@@ -2457,6 +2475,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Die Gruppe ist vollständig dezentralisiert sie ist nur für Mitglieder sichtbar.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "Der Hash der vorherigen Nachricht ist unterschiedlich.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "Die ID der nächsten Nachricht ist falsch (kleiner oder gleich der Vorherigen).\nDies kann passieren, wenn es einen Fehler gegeben hat oder die Verbindung kompromittiert wurde.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Diese Nachricht wird für alle Gruppenmitglieder gelöscht.";
@@ -2499,6 +2523,9 @@
/* notification title */
"this contact" = "Dieser Kontakt";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Es handelt sich um einen permanenten Fehler für diese Verbindung - bitte verbinden Sie sich neu.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Diese Funktion ist experimentell! Sie wird nur funktionieren, wenn der Kontakt ebenfalls eine SimpleX-Version ab v4.2 installiert hat. Sobald der Adress-Wechsel abgeschlossen ist, sollten Sie die Nachricht im Chat-Verlauf sehen. Bitte prüfen Sie, ob Sie weiterhin Nachrichten von diesem Kontakt (oder Gruppenmitglied) empfangen können.";

View File

@@ -383,9 +383,15 @@
/* integrity error chat item */
"bad message hash" = "hash de mensaje erróneo";
/* No comment provided by engineer. */
"Bad message hash" = "Hash de mensaje incorrecto";
/* integrity error chat item */
"bad message ID" = "ID de mensaje erróneo";
/* No comment provided by engineer. */
"Bad message ID" = "ID de mensaje incorrecto";
/* No comment provided by engineer. */
"bold" = "negrita";
@@ -782,6 +788,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Descentralizado";
/* No comment provided by engineer. */
"Decryption error" = "Error de descifrado";
/* pref value */
"default (%@)" = "por defecto (%@)";
@@ -1517,6 +1526,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Permite tener varias conexiones anónimas sin datos compartidos entre estas dentro del mismo perfil.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Puede ocurrir cuando tu o tu contacto estáis usando una copia de seguridad antigua de la base de datos.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Esto puede suceder cuando:\n1. Los mensajes caducan en el cliente saliente tras 2 días o en el servidor tras 30 días.\n2. El descifrado ha fallado porque tu o tu contacto estáis usando una copia de seguridad antigua de la base de datos.\n3. La conexión ha sido comprometida.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Parece que ya está conectado mediante este enlace. Si no es así ha habido un error (%@).";
@@ -1914,6 +1929,9 @@
/* No comment provided by engineer. */
"Periodically" = "Periódico";
/* message decrypt error item */
"Permanent decryption error" = "Error de descifrado";
/* No comment provided by engineer. */
"PING count" = "Contador PING";
@@ -1944,6 +1962,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Por favor, recuerda y guarda el código de acceso en un lugar seguro. ¡No hay ninguna manera de recuperar un código de acceso perdido!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Por favor, informa a los desarrolladores.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Reinicia la aplicación y migra la base de datos para activar las notificaciones automáticas.";
@@ -2223,9 +2244,6 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Envíalos desde la galería o desde teclados personalizados.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Enviar archivos vía XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "El remitente ha cancelado la transferencia de archivos.";
@@ -2457,6 +2475,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "El grupo está totalmente descentralizado y sólo es visible para los miembros.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "El hash del mensaje anterior es diferente.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "El ID del siguiente mensaje es incorrecto (menor o igual que el anterior).\nPuede ocurrir por algún bug o cuando la conexión está comprometida.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "El mensaje se eliminará para todos los miembros.";
@@ -2499,6 +2523,9 @@
/* notification title */
"this contact" = "este contacto";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "El error es permanente para esta conexión, por favor vuelve a conectarte.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "¡Experimental! Sólo funcionará si el otro cliente tiene instalada la versión 4.2. Deberías ver el mensaje en la conversación una vez completado el cambio de dirección. Comprueba que puedes seguir recibiendo mensajes de este contacto (o miembro del grupo).";

View File

@@ -284,6 +284,9 @@
/* No comment provided by engineer. */
"Allow" = "Autoriser";
/* No comment provided by engineer. */
"Allow calls only if your contact allows them." = "Autoriser les appels que si votre contact les autorise.";
/* No comment provided by engineer. */
"Allow disappearing messages only if your contact allows it to you." = "Autorise les messages éphémères seulement si votre contact vous lautorise.";
@@ -308,6 +311,9 @@
/* No comment provided by engineer. */
"Allow voice messages?" = "Autoriser les messages vocaux ?";
/* No comment provided by engineer. */
"Allow your contacts to call you." = "Autorise vos contacts à vous appeler.";
/* No comment provided by engineer. */
"Allow your contacts to irreversibly delete sent messages." = "Autorise vos contacts à supprimer de manière irréversible les messages envoyés.";
@@ -356,6 +362,12 @@
/* No comment provided by engineer. */
"audio call (not e2e encrypted)" = "appel audio (sans chiffrement)";
/* chat feature */
"Audio/video calls" = "Appels audio/vidéo";
/* No comment provided by engineer. */
"Audio/video calls are prohibited." = "Interdire les appels audio/vidéo.";
/* PIN entry */
"Authentication cancelled" = "Authentification interrompue";
@@ -383,15 +395,24 @@
/* integrity error chat item */
"bad message hash" = "hash de message incorrect";
/* No comment provided by engineer. */
"Bad message hash" = "Mauvais hash de message";
/* integrity error chat item */
"bad message ID" = "ID de message incorrecte";
/* No comment provided by engineer. */
"Bad message ID" = "Mauvais ID de message";
/* No comment provided by engineer. */
"bold" = "gras";
/* No comment provided by engineer. */
"Both you and your contact can irreversibly delete sent messages." = "Vous et votre contact êtes tous deux en mesure de supprimer de manière irréversible les messages envoyés.";
/* No comment provided by engineer. */
"Both you and your contact can make calls." = "Vous et votre contact pouvez tous deux passer des appels.";
/* No comment provided by engineer. */
"Both you and your contact can send disappearing messages." = "Vous et votre contact êtes tous deux en mesure d'envoyer des messages éphémères.";
@@ -782,6 +803,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Décentralisé";
/* No comment provided by engineer. */
"Decryption error" = "Erreur de déchiffrement";
/* pref value */
"default (%@)" = "défaut (%@)";
@@ -1217,6 +1241,9 @@
/* No comment provided by engineer. */
"Failed to remove passphrase" = "Échec de la suppression de la phrase secrète";
/* No comment provided by engineer. */
"File will be deleted from servers." = "Le fichier sera supprimé des serveurs.";
/* No comment provided by engineer. */
"File will be received when your contact completes uploading it." = "Le fichier sera reçu lorsque votre contact aura terminé de le mettre en ligne.";
@@ -1517,6 +1544,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Cela permet d'avoir plusieurs connections anonymes sans aucune données partagées entre elles sur un même profil.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Cela peut se produire lorsque vous ou votre contact avez utilisé une ancienne sauvegarde de base de données.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Cela peut arriver quand :\n1. Les messages ont expiré dans le client expéditeur après 2 jours ou sur le serveur après 30 jours.\n2. Le déchiffrement du message a échoué, car vous ou votre contact avez utilisé une ancienne sauvegarde de base de données.\n3. La connexion a été compromise.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Il semblerait que vous êtes déjà connecté via ce lien. Si ce n'est pas le cas, il y a eu une erreur (%@).";
@@ -1836,6 +1869,9 @@
/* No comment provided by engineer. */
"Only you can irreversibly delete messages (your contact can mark them for deletion)." = "Vous êtes le seul à pouvoir supprimer des messages de manière irréversible (votre contact peut les marquer comme supprimé).";
/* No comment provided by engineer. */
"Only you can make calls." = "Vous seul pouvez passer des appels.";
/* No comment provided by engineer. */
"Only you can send disappearing messages." = "Seulement vous pouvez envoyer des messages éphémères.";
@@ -1845,6 +1881,9 @@
/* No comment provided by engineer. */
"Only your contact can irreversibly delete messages (you can mark them for deletion)." = "Seul votre contact peut supprimer de manière irréversible des messages (vous pouvez les marquer comme supprimé).";
/* No comment provided by engineer. */
"Only your contact can make calls." = "Seul votre contact peut passer des appels.";
/* No comment provided by engineer. */
"Only your contact can send disappearing messages." = "Seulement votre contact peut envoyer des messages éphémères.";
@@ -1914,6 +1953,9 @@
/* No comment provided by engineer. */
"Periodically" = "Périodique";
/* message decrypt error item */
"Permanent decryption error" = "Erreur de déchiffrement";
/* No comment provided by engineer. */
"PING count" = "Nombre de PING";
@@ -1944,6 +1986,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "N'oubliez pas de le mémoriser ou de le conserver en toute sécurité - il n'y a aucun moyen de récupérer un code d'accès perdu !";
/* No comment provided by engineer. */
"Please report it to the developers." = "Veuillez le signaler aux développeurs.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Veuillez redémarrer l'app et migrer la base de données pour activer les notifications push.";
@@ -1983,6 +2028,9 @@
/* No comment provided by engineer. */
"Profile password" = "Mot de passe de profil";
/* No comment provided by engineer. */
"Prohibit audio/video calls." = "Interdire les appels audio/vidéo.";
/* No comment provided by engineer. */
"Prohibit irreversible message deletion." = "Interdire la suppression irréversible des messages.";
@@ -2028,6 +2076,9 @@
/* notification */
"Received file event" = "Événement de fichier reçu";
/* No comment provided by engineer. */
"Receiving file will be stopped." = "La réception du fichier sera interrompue.";
/* No comment provided by engineer. */
"Receiving via" = "Réception via";
@@ -2115,6 +2166,15 @@
/* No comment provided by engineer. */
"Revert" = "Revenir en arrière";
/* No comment provided by engineer. */
"Revoke" = "Révoquer";
/* cancel file action */
"Revoke file" = "Révoquer le fichier";
/* No comment provided by engineer. */
"Revoke file?" = "Révoquer le fichier ?";
/* No comment provided by engineer. */
"Role" = "Rôle";
@@ -2223,15 +2283,15 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Envoyez-les depuis la phototèque ou des claviers personnalisés.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Envoi de fichiers via XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "L'expéditeur a annulé le transfert de fichiers.";
/* No comment provided by engineer. */
"Sender may have deleted the connection request." = "L'expéditeur a peut-être supprimé la demande de connexion.";
/* No comment provided by engineer. */
"Sending file will be stopped." = "L'envoi du fichier sera interrompu.";
/* No comment provided by engineer. */
"Sending via" = "Envoi via";
@@ -2367,6 +2427,15 @@
/* No comment provided by engineer. */
"Stop chat?" = "Arrêter le chat ?";
/* cancel file action */
"Stop file" = "Arrêter le fichier";
/* No comment provided by engineer. */
"Stop receiving file?" = "Arrêter de recevoir le fichier ?";
/* No comment provided by engineer. */
"Stop sending file?" = "Arrêter l'envoi du fichier ?";
/* authentication reason */
"Stop SimpleX" = "Arrêter SimpleX";
@@ -2457,6 +2526,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Le groupe est entièrement décentralisé il n'est visible que par ses membres.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "Le hash du message précédent est différent.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "L'ID du message suivant est incorrect (inférieur ou égal au précédent).\nCela peut se produire en raison d'un bug ou lorsque la connexion est compromise.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Le message sera supprimé pour tous les membres.";
@@ -2499,6 +2574,9 @@
/* notification title */
"this contact" = "ce contact";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Cette erreur est persistante pour cette connexion, veuillez vous reconnecter.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Cette fonctionnalité est expérimentale ! Elle ne fonctionnera que si l'autre client a la version 4.2 installée. Vous devriez voir le message dans la conversation une fois le changement d'adresse effectué. Vérifiez que vous pouvez toujours recevoir des messages de ce contact (ou membre du groupe).";

View File

@@ -284,6 +284,9 @@
/* No comment provided by engineer. */
"Allow" = "Consenti";
/* No comment provided by engineer. */
"Allow calls only if your contact allows them." = "Consenti le chiamate solo se il contatto le consente.";
/* No comment provided by engineer. */
"Allow disappearing messages only if your contact allows it to you." = "Consenti i messaggi a tempo solo se il contatto li consente a te.";
@@ -308,6 +311,9 @@
/* No comment provided by engineer. */
"Allow voice messages?" = "Consentire i messaggi vocali?";
/* No comment provided by engineer. */
"Allow your contacts to call you." = "Consenti ai tuoi contatti di chiamarti.";
/* No comment provided by engineer. */
"Allow your contacts to irreversibly delete sent messages." = "Permetti ai tuoi contatti di eliminare irreversibilmente i messaggi inviati.";
@@ -356,6 +362,12 @@
/* No comment provided by engineer. */
"audio call (not e2e encrypted)" = "chiamata audio (non crittografata e2e)";
/* chat feature */
"Audio/video calls" = "Chiamate audio/video";
/* No comment provided by engineer. */
"Audio/video calls are prohibited." = "Le chiamate audio/video sono vietate.";
/* PIN entry */
"Authentication cancelled" = "Autenticazione annullata";
@@ -383,15 +395,24 @@
/* integrity error chat item */
"bad message hash" = "hash del messaggio errato";
/* No comment provided by engineer. */
"Bad message hash" = "Hash del messaggio errato";
/* integrity error chat item */
"bad message ID" = "ID messaggio errato";
/* No comment provided by engineer. */
"Bad message ID" = "ID del messaggio errato";
/* No comment provided by engineer. */
"bold" = "grassetto";
/* No comment provided by engineer. */
"Both you and your contact can irreversibly delete sent messages." = "Sia tu che il tuo contatto potete eliminare irreversibilmente i messaggi inviati.";
/* No comment provided by engineer. */
"Both you and your contact can make calls." = "Sia tu che il tuo contatto potete effettuare chiamate.";
/* No comment provided by engineer. */
"Both you and your contact can send disappearing messages." = "Sia tu che il tuo contatto potete inviare messaggi a tempo.";
@@ -782,6 +803,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Decentralizzato";
/* No comment provided by engineer. */
"Decryption error" = "Errore di decifrazione";
/* pref value */
"default (%@)" = "predefinito (%@)";
@@ -1217,6 +1241,9 @@
/* No comment provided by engineer. */
"Failed to remove passphrase" = "Rimozione della password fallita";
/* No comment provided by engineer. */
"File will be deleted from servers." = "Il file verrà eliminato dai server.";
/* No comment provided by engineer. */
"File will be received when your contact completes uploading it." = "Il file verrà ricevuto quando il tuo contatto completerà l'invio.";
@@ -1517,6 +1544,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Permette di avere molte connessioni anonime senza dati condivisi tra di loro in un unico profilo di chat.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Può accadere quando tu o il tuo contatto avete usato il backup del database vecchio.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Può accadere quando:\n1. I messaggi sono scaduti sul client mittente dopo 2 giorni o sul server dopo 30 giorni.\n2. La decifrazione del messaggio è fallita, perché tu o il tuo contatto avete usato un backup del database vecchio.\n3. La connessione è stata compromessa.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Sembra che tu sia già connesso tramite questo link. In caso contrario, c'è stato un errore (%@).";
@@ -1836,6 +1869,9 @@
/* No comment provided by engineer. */
"Only you can irreversibly delete messages (your contact can mark them for deletion)." = "Solo tu puoi eliminare irreversibilmente i messaggi (il tuo contatto può contrassegnarli per l'eliminazione).";
/* No comment provided by engineer. */
"Only you can make calls." = "Solo tu puoi effettuare chiamate.";
/* No comment provided by engineer. */
"Only you can send disappearing messages." = "Solo tu puoi inviare messaggi a tempo.";
@@ -1845,6 +1881,9 @@
/* No comment provided by engineer. */
"Only your contact can irreversibly delete messages (you can mark them for deletion)." = "Solo il tuo contatto può eliminare irreversibilmente i messaggi (tu puoi contrassegnarli per l'eliminazione).";
/* No comment provided by engineer. */
"Only your contact can make calls." = "Solo il tuo contatto può effettuare chiamate.";
/* No comment provided by engineer. */
"Only your contact can send disappearing messages." = "Solo il tuo contatto può inviare messaggi a tempo.";
@@ -1914,6 +1953,9 @@
/* No comment provided by engineer. */
"Periodically" = "Periodicamente";
/* message decrypt error item */
"Permanent decryption error" = "Errore di decifrazione";
/* No comment provided by engineer. */
"PING count" = "Conteggio PING";
@@ -1944,6 +1986,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Ricordalo o conservalo in modo sicuro: non c'è modo di recuperare un codice di accesso perso!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Si prega di segnalarlo agli sviluppatori.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Riavvia l'app ed esegui la migrazione del database per attivare le notifiche push.";
@@ -1983,6 +2028,9 @@
/* No comment provided by engineer. */
"Profile password" = "Password del profilo";
/* No comment provided by engineer. */
"Prohibit audio/video calls." = "Proibisci le chiamate audio/video.";
/* No comment provided by engineer. */
"Prohibit irreversible message deletion." = "Proibisci l'eliminazione irreversibile dei messaggi.";
@@ -2028,6 +2076,9 @@
/* notification */
"Received file event" = "Evento file ricevuto";
/* No comment provided by engineer. */
"Receiving file will be stopped." = "La ricezione del file verrà interrotta.";
/* No comment provided by engineer. */
"Receiving via" = "Ricezione via";
@@ -2115,6 +2166,15 @@
/* No comment provided by engineer. */
"Revert" = "Annulla";
/* No comment provided by engineer. */
"Revoke" = "Revoca";
/* cancel file action */
"Revoke file" = "Revoca file";
/* No comment provided by engineer. */
"Revoke file?" = "Revocare il file?";
/* No comment provided by engineer. */
"Role" = "Ruolo";
@@ -2223,15 +2283,15 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Inviali dalla galleria o dalle tastiere personalizzate.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Invia file tramite XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Il mittente ha annullato il trasferimento del file.";
/* No comment provided by engineer. */
"Sender may have deleted the connection request." = "Il mittente potrebbe aver eliminato la richiesta di connessione.";
/* No comment provided by engineer. */
"Sending file will be stopped." = "L'invio del file verrà interrotto.";
/* No comment provided by engineer. */
"Sending via" = "Invio tramite";
@@ -2367,6 +2427,15 @@
/* No comment provided by engineer. */
"Stop chat?" = "Fermare la chat?";
/* cancel file action */
"Stop file" = "Ferma file";
/* No comment provided by engineer. */
"Stop receiving file?" = "Fermare la ricezione del file?";
/* No comment provided by engineer. */
"Stop sending file?" = "Fermare l'invio del file?";
/* authentication reason */
"Stop SimpleX" = "Ferma SimpleX";
@@ -2457,6 +2526,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Il gruppo è completamente decentralizzato: è visibile solo ai membri.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "L'hash del messaggio precedente è diverso.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "L'ID del messaggio successivo non è corretto (inferiore o uguale al precedente).\nPuò accadere a causa di qualche bug o quando la connessione è compromessa.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Il messaggio verrà eliminato per tutti i membri.";
@@ -2499,6 +2574,9 @@
/* notification title */
"this contact" = "questo contatto";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "L'errore è permanente per questa connessione, riconnettiti.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Questa funzionalità è sperimentale! Funzionerà solo se l'altro client ha la versione 4.2 installata. Dovresti vedere il messaggio nella conversazione una volta completato il cambio di indirizzo. Controlla di potere ancora ricevere messaggi da questo contatto (o membro del gruppo).";

View File

@@ -1,6 +1,9 @@
/* No comment provided by engineer. */
"\n" = "\n";
/* No comment provided by engineer. */
"\nAvailable in v5.1" = "\nBeschikbaar in v5.1";
/* No comment provided by engineer. */
" " = " ";
@@ -172,6 +175,12 @@
/* No comment provided by engineer. */
"%lldw" = "%lldw";
/* No comment provided by engineer. */
"%u messages failed to decrypt." = "%u-berichten kunnen niet worden gedecodeerd.";
/* No comment provided by engineer. */
"%u messages skipped." = "%u berichten zijn overgeslagen.";
/* No comment provided by engineer. */
"`a + b`" = "\\`a + b`";
@@ -284,6 +293,9 @@
/* No comment provided by engineer. */
"Allow" = "Toestaan";
/* No comment provided by engineer. */
"Allow calls only if your contact allows them." = "Sta oproepen alleen toe als uw contact persoon dit toestaat.";
/* No comment provided by engineer. */
"Allow disappearing messages only if your contact allows it to you." = "Sta verdwijnende berichten alleen toe als uw contactpersoon dit toestaat.";
@@ -308,6 +320,9 @@
/* No comment provided by engineer. */
"Allow voice messages?" = "Spraak berichten toestaan?";
/* No comment provided by engineer. */
"Allow your contacts to call you." = "Sta toe dat uw contacten u bellen.";
/* No comment provided by engineer. */
"Allow your contacts to irreversibly delete sent messages." = "Laat uw contacten verzonden berichten onomkeerbaar verwijderen.";
@@ -335,6 +350,9 @@
/* No comment provided by engineer. */
"App icon" = "App icon";
/* No comment provided by engineer. */
"App passcode" = "App toegangscode";
/* No comment provided by engineer. */
"App version" = "App versie";
@@ -356,6 +374,12 @@
/* No comment provided by engineer. */
"audio call (not e2e encrypted)" = "audio oproep (niet e2e versleuteld)";
/* chat feature */
"Audio/video calls" = "Audio/video oproepen";
/* No comment provided by engineer. */
"Audio/video calls are prohibited." = "Audio/video gesprekken zijn verboden.";
/* PIN entry */
"Authentication cancelled" = "Verificatie geannuleerd";
@@ -383,15 +407,24 @@
/* integrity error chat item */
"bad message hash" = "Onjuiste bericht hash";
/* No comment provided by engineer. */
"Bad message hash" = "Onjuiste bericht hash";
/* integrity error chat item */
"bad message ID" = "Onjuiste bericht ID";
/* No comment provided by engineer. */
"Bad message ID" = "Onjuiste bericht ID";
/* No comment provided by engineer. */
"bold" = "vetgedrukt";
/* No comment provided by engineer. */
"Both you and your contact can irreversibly delete sent messages." = "Zowel jij als je contactpersoon kunnen verzonden berichten onherroepelijk verwijderen.";
/* No comment provided by engineer. */
"Both you and your contact can make calls." = "Zowel u als uw contact persoon kunnen bellen.";
/* No comment provided by engineer. */
"Both you and your contact can send disappearing messages." = "Zowel jij als je contactpersoon kunnen verdwijnende berichten sturen.";
@@ -782,6 +815,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Gedecentraliseerd";
/* No comment provided by engineer. */
"Decryption error" = "Decryptie fout";
/* pref value */
"default (%@)" = "standaard (%@)";
@@ -1217,6 +1253,12 @@
/* No comment provided by engineer. */
"Failed to remove passphrase" = "Kan wachtwoord niet verwijderen";
/* No comment provided by engineer. */
"Fast and no wait until the sender is online!" = "Snel en niet wachten tot de afzender online is!";
/* No comment provided by engineer. */
"File will be deleted from servers." = "Het bestand wordt van de servers verwijderd.";
/* No comment provided by engineer. */
"File will be received when your contact completes uploading it." = "Het bestand wordt ontvangen wanneer uw contactpersoon het uploaden heeft voltooid.";
@@ -1517,6 +1559,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Het maakt het mogelijk om veel anonieme verbindingen te hebben zonder enige gedeelde gegevens tussen hen in een enkel chat profiel.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Het kan gebeuren wanneer u of uw verbinding de oude databaseback-up gebruikte.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Het kan gebeuren wanneer:\n1. De berichten zijn na 2 dagen verlopen bij de verzendende client of na 30 dagen op de server.\n2. Decodering van het bericht is mislukt, omdat u of uw contactpersoon een oude databaseback-up heeft gebruikt.\n3. De verbinding is verbroken.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Het lijkt erop dat u al bent verbonden via deze link. Als dit niet het geval is, is er een fout opgetreden (%@).";
@@ -1836,6 +1884,9 @@
/* No comment provided by engineer. */
"Only you can irreversibly delete messages (your contact can mark them for deletion)." = "Alleen jij kunt berichten onomkeerbaar verwijderen (je contactpersoon kan ze markeren voor verwijdering).";
/* No comment provided by engineer. */
"Only you can make calls." = "Alleen jij kunt bellen.";
/* No comment provided by engineer. */
"Only you can send disappearing messages." = "Alleen jij kunt verdwijnende berichten verzenden.";
@@ -1845,6 +1896,9 @@
/* No comment provided by engineer. */
"Only your contact can irreversibly delete messages (you can mark them for deletion)." = "Alleen uw contactpersoon kan berichten onherroepelijk verwijderen (u kunt ze markeren voor verwijdering).";
/* No comment provided by engineer. */
"Only your contact can make calls." = "Alleen je contact kan bellen.";
/* No comment provided by engineer. */
"Only your contact can send disappearing messages." = "Alleen uw contactpersoon kan verdwijnende berichten verzenden.";
@@ -1914,6 +1968,9 @@
/* No comment provided by engineer. */
"Periodically" = "Periodiek";
/* message decrypt error item */
"Permanent decryption error" = "Decryptie fout";
/* No comment provided by engineer. */
"PING count" = "PING count";
@@ -1944,6 +2001,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Onthoud of bewaar het veilig - er is geen manier om een verloren toegangscode te herstellen!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Meld het alsjeblieft aan de ontwikkelaars.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Start de app opnieuw en migreer de database om push meldingen in te schakelen.";
@@ -1953,6 +2013,9 @@
/* No comment provided by engineer. */
"Please store passphrase securely, you will NOT be able to change it if you lose it." = "Bewaar het wachtwoord veilig, u kunt deze NIET wijzigen als u het kwijtraakt.";
/* No comment provided by engineer. */
"Polish interface" = "Poolse interface";
/* server test error */
"Possibly, certificate fingerprint in server address is incorrect" = "Mogelijk is de certificaat vingerafdruk in het server adres onjuist";
@@ -1983,6 +2046,9 @@
/* No comment provided by engineer. */
"Profile password" = "Profiel wachtwoord";
/* No comment provided by engineer. */
"Prohibit audio/video calls." = "Audio/video gesprekken verbieden.";
/* No comment provided by engineer. */
"Prohibit irreversible message deletion." = "Verbied het onomkeerbaar verwijderen van berichten.";
@@ -2028,6 +2094,9 @@
/* notification */
"Received file event" = "Ontvangen bestandsgebeurtenis";
/* No comment provided by engineer. */
"Receiving file will be stopped." = "Het ontvangen van het bestand wordt gestopt.";
/* No comment provided by engineer. */
"Receiving via" = "Ontvang via";
@@ -2115,6 +2184,15 @@
/* No comment provided by engineer. */
"Revert" = "Terugdraaien";
/* No comment provided by engineer. */
"Revoke" = "Intrekken";
/* cancel file action */
"Revoke file" = "Bestand intrekken";
/* No comment provided by engineer. */
"Revoke file?" = "Bestand intrekken?";
/* No comment provided by engineer. */
"Role" = "Rol";
@@ -2223,15 +2301,15 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Stuur ze vanuit de galerij of aangepaste toetsenborden.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Bestanden verzenden via XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Afzender heeft bestandsoverdracht geannuleerd.";
/* No comment provided by engineer. */
"Sender may have deleted the connection request." = "De afzender heeft mogelijk het verbindingsverzoek verwijderd.";
/* No comment provided by engineer. */
"Sending file will be stopped." = "Het verzenden van het bestand wordt gestopt.";
/* No comment provided by engineer. */
"Sending via" = "Verzenden via";
@@ -2262,6 +2340,9 @@
/* No comment provided by engineer. */
"Set group preferences" = "Groep voorkeuren instellen";
/* No comment provided by engineer. */
"Set it instead of system authentication." = "Stel het in in plaats van systeemverificatie.";
/* No comment provided by engineer. */
"Set passphrase to export" = "Wachtwoord instellen om te exporteren";
@@ -2367,6 +2448,15 @@
/* No comment provided by engineer. */
"Stop chat?" = "Stop chat?";
/* cancel file action */
"Stop file" = "Bestand stoppen";
/* No comment provided by engineer. */
"Stop receiving file?" = "Stopt met het ontvangen van een bestand?";
/* No comment provided by engineer. */
"Stop sending file?" = "Bestand verzenden stoppen?";
/* authentication reason */
"Stop SimpleX" = "Stop SimpleX";
@@ -2457,6 +2547,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "De groep is volledig gedecentraliseerd het is alleen zichtbaar voor de leden.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "De hash van het vorige bericht is anders.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "De ID van het volgende bericht is onjuist (minder of gelijk aan het vorige).\nHet kan gebeuren vanwege een bug of wanneer de verbinding is aangetast.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Het bericht wordt verwijderd voor alle leden.";
@@ -2499,6 +2595,9 @@
/* notification title */
"this contact" = "dit contact";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Deze fout is permanent voor deze verbinding, maak opnieuw verbinding.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Deze functie is experimenteel! Het werkt alleen als op de andere client versie 4.2 is geïnstalleerd. U zou het bericht in het gesprek moeten zien zodra de adreswijziging is voltooid. Controleer of u nog steeds berichten van dit contact (of groepslid) kunt ontvangen.";
@@ -2697,6 +2796,9 @@
/* No comment provided by engineer. */
"Video will be received when your contact is online, please wait or check later!" = "De video wordt ontvangen wanneer uw contact online is, even geduld a.u.b. of kijk later!";
/* No comment provided by engineer. */
"Videos and files up to 1gb" = "Video's en bestanden tot 1 GB";
/* No comment provided by engineer. */
"View security code" = "Beveiligingscode bekijken";

View File

@@ -1,6 +1,9 @@
/* No comment provided by engineer. */
"\n" = "\n";
/* No comment provided by engineer. */
"\nAvailable in v5.1" = "\nDostępny w v5.1";
/* No comment provided by engineer. */
" " = " ";
@@ -172,6 +175,12 @@
/* No comment provided by engineer. */
"%lldw" = "%lldt";
/* No comment provided by engineer. */
"%u messages failed to decrypt." = "Nie udało się odszyfrować %u wiadomości.";
/* No comment provided by engineer. */
"%u messages skipped." = "%u pominiętych wiadomości.";
/* No comment provided by engineer. */
"`a + b`" = "\\`a + b`";
@@ -284,6 +293,9 @@
/* No comment provided by engineer. */
"Allow" = "Pozwól";
/* No comment provided by engineer. */
"Allow calls only if your contact allows them." = "Zezwalaj na połączenia tylko wtedy, gdy Twój kontakt na to pozwala.";
/* No comment provided by engineer. */
"Allow disappearing messages only if your contact allows it to you." = "Zezwól na znikające wiadomości tylko wtedy, gdy Twój kontakt Ci na to pozwoli.";
@@ -308,6 +320,9 @@
/* No comment provided by engineer. */
"Allow voice messages?" = "Zezwolić na wiadomości głosowe?";
/* No comment provided by engineer. */
"Allow your contacts to call you." = "Zezwól swoim kontaktom na połączenia do Ciebie.";
/* No comment provided by engineer. */
"Allow your contacts to irreversibly delete sent messages." = "Zezwól swoim kontaktom na nieodwracalne usuwanie wysłanych wiadomości.";
@@ -335,6 +350,9 @@
/* No comment provided by engineer. */
"App icon" = "Ikona aplikacji";
/* No comment provided by engineer. */
"App passcode" = "Pin aplikacji";
/* No comment provided by engineer. */
"App version" = "Wersja aplikacji";
@@ -356,6 +374,12 @@
/* No comment provided by engineer. */
"audio call (not e2e encrypted)" = "połączenie audio (nie szyfrowane e2e)";
/* chat feature */
"Audio/video calls" = "Połączenia audio/wideo";
/* No comment provided by engineer. */
"Audio/video calls are prohibited." = "Połączenia audio/wideo są zabronione.";
/* PIN entry */
"Authentication cancelled" = "Uwierzytelnianie anulowane";
@@ -383,15 +407,24 @@
/* integrity error chat item */
"bad message hash" = "zły hash wiadomości";
/* No comment provided by engineer. */
"Bad message hash" = "Zły hash wiadomości";
/* integrity error chat item */
"bad message ID" = "zły identyfikator wiadomości";
/* No comment provided by engineer. */
"Bad message ID" = "Zły identyfikator wiadomości";
/* No comment provided by engineer. */
"bold" = "pogrubiona";
/* No comment provided by engineer. */
"Both you and your contact can irreversibly delete sent messages." = "Zarówno Ty, jak i Twój kontakt możecie nieodwracalnie usunąć wysłane wiadomości.";
/* No comment provided by engineer. */
"Both you and your contact can make calls." = "Zarówno Ty, jak i Twój kontakt możecie nawiązywać połączenia.";
/* No comment provided by engineer. */
"Both you and your contact can send disappearing messages." = "Zarówno Ty, jak i Twój kontakt możecie wysyłać znikające wiadomości.";
@@ -782,6 +815,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Zdecentralizowane";
/* No comment provided by engineer. */
"Decryption error" = "Błąd odszyfrowania";
/* pref value */
"default (%@)" = "domyślne (%@)";
@@ -1217,6 +1253,12 @@
/* No comment provided by engineer. */
"Failed to remove passphrase" = "Nie udało się usunąć hasła";
/* No comment provided by engineer. */
"Fast and no wait until the sender is online!" = "Szybko i bez czekania aż nadawca będzie online!";
/* No comment provided by engineer. */
"File will be deleted from servers." = "Plik zostanie usunięty z serwerów.";
/* No comment provided by engineer. */
"File will be received when your contact completes uploading it." = "Plik zostanie odebrany, gdy Twój kontakt zakończy przesyłanie.";
@@ -1517,6 +1559,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "To pozwala na posiadanie wielu anonimowych połączeń bez żadnych wspólnych danych między nimi w pojedynczym profilu czatu.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Może się to zdarzyć, gdy Ty lub Twoje połączenie użyło starej kopii zapasowej bazy danych.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Może to nastąpić, gdy:\n1. Wiadomości wygasły w wysyłającym kliencie po 2 dniach lub na serwerze po 30 dniach.\n2. Odszyfrowanie wiadomości nie powiodło się, ponieważ Ty lub Twój kontakt użyliście starej kopii zapasowej bazy danych.\n3. Połączenie zostało skompromitowane.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Wygląda na to, że jesteś już połączony przez ten link. Jeśli tak nie jest, wystąpił błąd (%@).";
@@ -1836,6 +1884,9 @@
/* No comment provided by engineer. */
"Only you can irreversibly delete messages (your contact can mark them for deletion)." = "Tylko Ty możesz nieodwracalnie usunąć wiadomości (Twój kontakt może oznaczyć je do usunięcia).";
/* No comment provided by engineer. */
"Only you can make calls." = "Tylko Ty możesz wykonywać połączenia.";
/* No comment provided by engineer. */
"Only you can send disappearing messages." = "Tylko Ty możesz wysyłać znikające wiadomości.";
@@ -1845,6 +1896,9 @@
/* No comment provided by engineer. */
"Only your contact can irreversibly delete messages (you can mark them for deletion)." = "Tylko Twój kontakt może nieodwracalnie usunąć wiadomości (możesz oznaczyć je do usunięcia).";
/* No comment provided by engineer. */
"Only your contact can make calls." = "Tylko Twój kontakt może wykonywać połączenia.";
/* No comment provided by engineer. */
"Only your contact can send disappearing messages." = "Tylko Twój kontakt może wysyłać znikające wiadomości.";
@@ -1914,6 +1968,9 @@
/* No comment provided by engineer. */
"Periodically" = "Okresowo";
/* message decrypt error item */
"Permanent decryption error" = "Błąd odszyfrowania";
/* No comment provided by engineer. */
"PING count" = "Liczba PINGÓW";
@@ -1944,6 +2001,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Prosimy o jego zapamiętanie lub bezpieczne przechowywanie - nie ma możliwości odzyskania utraconego pinu!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Prosimy o zgłaszanie tego do deweloperów.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Uruchom ponownie aplikację i przeprowadź migrację bazy danych, aby włączyć powiadomienia push.";
@@ -1953,6 +2013,9 @@
/* No comment provided by engineer. */
"Please store passphrase securely, you will NOT be able to change it if you lose it." = "Prosimy o bezpieczne przechowywanie hasła, w przypadku jego utraty NIE będzie można go zmienić.";
/* No comment provided by engineer. */
"Polish interface" = "Polski interfejs";
/* server test error */
"Possibly, certificate fingerprint in server address is incorrect" = "Możliwe, że odcisk palca certyfikatu w adresie serwera jest nieprawidłowy";
@@ -1983,6 +2046,9 @@
/* No comment provided by engineer. */
"Profile password" = "Hasło profilu";
/* No comment provided by engineer. */
"Prohibit audio/video calls." = "Zabroń połączeń audio/wideo.";
/* No comment provided by engineer. */
"Prohibit irreversible message deletion." = "Zabroń nieodwracalnego usuwania wiadomości.";
@@ -2028,6 +2094,9 @@
/* notification */
"Received file event" = "Otrzymano zdarzenie pliku";
/* No comment provided by engineer. */
"Receiving file will be stopped." = "Odbieranie pliku zostanie przerwane.";
/* No comment provided by engineer. */
"Receiving via" = "Odbieranie przez";
@@ -2115,6 +2184,15 @@
/* No comment provided by engineer. */
"Revert" = "Przywrócić";
/* No comment provided by engineer. */
"Revoke" = "Odwołaj";
/* cancel file action */
"Revoke file" = "Odwołaj plik";
/* No comment provided by engineer. */
"Revoke file?" = "Odwołać plik?";
/* No comment provided by engineer. */
"Role" = "Rola";
@@ -2223,15 +2301,15 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Wyślij je z galerii lub niestandardowych klawiatur.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Wysyłaj filmy i pliki przez XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Nadawca anulował transfer pliku.";
/* No comment provided by engineer. */
"Sender may have deleted the connection request." = "Nadawca mógł usunąć prośbę o połączenie.";
/* No comment provided by engineer. */
"Sending file will be stopped." = "Wysyłanie pliku zostanie przerwane.";
/* No comment provided by engineer. */
"Sending via" = "Wysyłanie przez";
@@ -2262,6 +2340,9 @@
/* No comment provided by engineer. */
"Set group preferences" = "Ustaw preferencje grupy";
/* No comment provided by engineer. */
"Set it instead of system authentication." = "Ustaw go zamiast uwierzytelniania systemowego.";
/* No comment provided by engineer. */
"Set passphrase to export" = "Ustaw hasło do eksportu";
@@ -2367,6 +2448,15 @@
/* No comment provided by engineer. */
"Stop chat?" = "Zatrzymać czat?";
/* cancel file action */
"Stop file" = "Zatrzymaj plik";
/* No comment provided by engineer. */
"Stop receiving file?" = "Przestać odbierać plik?";
/* No comment provided by engineer. */
"Stop sending file?" = "Przestać wysyłać plik?";
/* authentication reason */
"Stop SimpleX" = "Zatrzymaj SimpleX";
@@ -2457,6 +2547,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Grupa jest w pełni zdecentralizowana jest widoczna tylko dla członków.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "Hash poprzedniej wiadomości jest inny.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "Identyfikator następnej wiadomości jest nieprawidłowy (mniejszy lub równy poprzedniej).\nMoże się to zdarzyć z powodu jakiegoś błędu lub gdy połączenie jest skompromitowane.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Wiadomość zostanie usunięta dla wszystkich członków.";
@@ -2499,6 +2595,9 @@
/* notification title */
"this contact" = "ten kontakt";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Ten błąd jest trwały dla tego połączenia, proszę o ponowne połączenie.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Ta funkcja jest eksperymentalna! Będzie działać tylko wtedy, gdy drugi klient ma zainstalowaną wersję 4.2. Po zakończeniu zmiany adresu powinieneś zobaczyć wiadomość w konwersacji - sprawdź, czy nadal możesz otrzymywać wiadomości od tego kontaktu (lub członka grupy).";
@@ -2697,6 +2796,9 @@
/* No comment provided by engineer. */
"Video will be received when your contact is online, please wait or check later!" = "Film zostanie odebrany, gdy kontakt będzie online, poczekaj lub sprawdź później!";
/* No comment provided by engineer. */
"Videos and files up to 1gb" = "Filmy i pliki do 1gb";
/* No comment provided by engineer. */
"View security code" = "Pokaż kod bezpieczeństwa";

View File

@@ -1,6 +1,9 @@
/* No comment provided by engineer. */
"\n" = "\n";
/* No comment provided by engineer. */
"\nAvailable in v5.1" = "\nДоступно в v5.1";
/* No comment provided by engineer. */
" " = " ";
@@ -142,9 +145,15 @@
/* No comment provided by engineer. */
"%lld members" = "Членов группы: %lld";
/* No comment provided by engineer. */
"%lld minutes" = "%lld минуты";
/* No comment provided by engineer. */
"%lld second(s)" = "%lld секунд";
/* No comment provided by engineer. */
"%lld seconds" = "%lld секунд";
/* No comment provided by engineer. */
"%lldd" = "%lldд";
@@ -166,6 +175,12 @@
/* No comment provided by engineer. */
"%lldw" = "%lldнед";
/* No comment provided by engineer. */
"%u messages failed to decrypt." = "%u сообщений не могут быть расшифрованы.";
/* No comment provided by engineer. */
"%u messages skipped." = "%u сообщений пропущено.";
/* No comment provided by engineer. */
"`a + b`" = "\\`a + b`";
@@ -278,6 +293,9 @@
/* No comment provided by engineer. */
"Allow" = "Разрешить";
/* No comment provided by engineer. */
"Allow calls only if your contact allows them." = "Разрешить звонки, только если их разрешает Ваш контакт.";
/* No comment provided by engineer. */
"Allow disappearing messages only if your contact allows it to you." = "Разрешить исчезающие сообщения, только если Ваш контакт разрешает их Вам.";
@@ -302,6 +320,9 @@
/* No comment provided by engineer. */
"Allow voice messages?" = "Разрешить голосовые сообщения?";
/* No comment provided by engineer. */
"Allow your contacts to call you." = "Разрешить Вашим контактам звонить Вам.";
/* No comment provided by engineer. */
"Allow your contacts to irreversibly delete sent messages." = "Разрешить Вашим контактам необратимо удалять отправленные сообщения.";
@@ -329,6 +350,9 @@
/* No comment provided by engineer. */
"App icon" = "Иконка";
/* No comment provided by engineer. */
"App passcode" = "Код доступа в приложение";
/* No comment provided by engineer. */
"App version" = "Версия приложения";
@@ -350,6 +374,15 @@
/* No comment provided by engineer. */
"audio call (not e2e encrypted)" = "аудиозвонок (не e2e зашифрованный)";
/* chat feature */
"Audio/video calls" = "Аудио/видео звонки";
/* No comment provided by engineer. */
"Audio/video calls are prohibited." = "Аудио/видео звонки запрещены.";
/* PIN entry */
"Authentication cancelled" = "Аутентификация отменена";
/* No comment provided by engineer. */
"Authentication failed" = "Ошибка аутентификации";
@@ -374,15 +407,24 @@
/* integrity error chat item */
"bad message hash" = "ошибка хэш сообщения";
/* No comment provided by engineer. */
"Bad message hash" = "Ошибка хэш сообщения";
/* integrity error chat item */
"bad message ID" = "ошибка ID сообщения";
/* No comment provided by engineer. */
"Bad message ID" = "Ошибка ID сообщения";
/* No comment provided by engineer. */
"bold" = "жирный";
/* No comment provided by engineer. */
"Both you and your contact can irreversibly delete sent messages." = "Вы и Ваш контакт можете необратимо удалять отправленные сообщения.";
/* No comment provided by engineer. */
"Both you and your contact can make calls." = "Вы и Ваш контакт можете совершать звонки.";
/* No comment provided by engineer. */
"Both you and your contact can send disappearing messages." = "Вы и Ваш контакт можете отправлять исчезающие сообщения.";
@@ -434,9 +476,18 @@
/* No comment provided by engineer. */
"Change database passphrase?" = "Поменять пароль базы данных?";
/* authentication reason */
"Change lock mode" = "Изменить режим блокировки";
/* No comment provided by engineer. */
"Change member role?" = "Поменять роль члена группы?";
/* authentication reason */
"Change passcode" = "Изменить код доступа";
/* No comment provided by engineer. */
"Change Passcode" = "Изменить код доступа";
/* No comment provided by engineer. */
"Change receiving address" = "Поменять адрес получения";
@@ -518,6 +569,9 @@
/* No comment provided by engineer. */
"Colors" = "Цвета";
/* server test step */
"Compare file" = "Сравнение файла";
/* No comment provided by engineer. */
"Compare security codes with your contacts." = "Сравните код безопасности с Вашими контактами.";
@@ -536,6 +590,9 @@
/* No comment provided by engineer. */
"Confirm new passphrase…" = "Подтвердите новый пароль…";
/* No comment provided by engineer. */
"Confirm Passcode" = "Подтвердить Код";
/* No comment provided by engineer. */
"Confirm password" = "Подтвердить пароль";
@@ -662,6 +719,9 @@
/* No comment provided by engineer. */
"Create address" = "Создать адрес";
/* server test step */
"Create file" = "Создание файла";
/* No comment provided by engineer. */
"Create group link" = "Создать ссылку группы";
@@ -686,6 +746,9 @@
/* No comment provided by engineer. */
"creator" = "создатель";
/* No comment provided by engineer. */
"Current Passcode" = "Текущий Код";
/* No comment provided by engineer. */
"Current passphrase…" = "Текущий пароль…";
@@ -752,6 +815,9 @@
/* No comment provided by engineer. */
"Decentralized" = "Децентрализованный";
/* No comment provided by engineer. */
"Decryption error" = "Ошибка расшифровки";
/* pref value */
"default (%@)" = "по умолчанию (%@)";
@@ -797,6 +863,9 @@
/* No comment provided by engineer. */
"Delete database" = "Удалить данные чата";
/* server test step */
"Delete file" = "Удалить файл";
/* No comment provided by engineer. */
"Delete files and media?" = "Удалить файлы и медиа?";
@@ -929,6 +998,9 @@
/* No comment provided by engineer. */
"Downgrade and open chat" = "Откатить версию и открыть чат";
/* server test step */
"Download file" = "Загрузка файла";
/* No comment provided by engineer. */
"Duplicate display name!" = "Имя профиля уже используется!";
@@ -953,6 +1025,9 @@
/* No comment provided by engineer. */
"Enable instant notifications?" = "Включить мгновенные уведомления?";
/* No comment provided by engineer. */
"Enable lock" = "Включить блокировку";
/* No comment provided by engineer. */
"Enable notifications" = "Включить уведомления";
@@ -1010,6 +1085,9 @@
/* No comment provided by engineer. */
"Enter correct passphrase." = "Введите правильный пароль.";
/* No comment provided by engineer. */
"Enter Passcode" = "Введите Код";
/* No comment provided by engineer. */
"Enter passphrase…" = "Введите пароль…";
@@ -1094,6 +1172,9 @@
/* No comment provided by engineer. */
"Error joining group" = "Ошибка при вступлении в группу";
/* No comment provided by engineer. */
"Error loading %@ servers" = "Ошибка загрузки %@ серверов";
/* No comment provided by engineer. */
"Error receiving file" = "Ошибка при получении файла";
@@ -1109,6 +1190,9 @@
/* No comment provided by engineer. */
"Error saving ICE servers" = "Ошибка при сохранении ICE серверов";
/* No comment provided by engineer. */
"Error saving passcode" = "Ошибка сохранения кода";
/* No comment provided by engineer. */
"Error saving passphrase to keychain" = "Ошибка сохранения пароля в Keychain";
@@ -1169,6 +1253,12 @@
/* No comment provided by engineer. */
"Failed to remove passphrase" = "Ошибка удаления пароля";
/* No comment provided by engineer. */
"Fast and no wait until the sender is online!" = "Быстрые и не нужно ждать, когда отправитель онлайн!";
/* No comment provided by engineer. */
"File will be deleted from servers." = "Файл будет удалён с серверов.";
/* No comment provided by engineer. */
"File will be received when your contact completes uploading it." = "Файл будет принят когда Ваш контакт загрузит его.";
@@ -1334,6 +1424,9 @@
/* No comment provided by engineer. */
"Image will be received when your contact is online, please wait or check later!" = "Изображение будет принято, когда Ваш контакт будет в сети, подождите или проверьте позже!";
/* No comment provided by engineer. */
"Immediately" = "Сразу";
/* No comment provided by engineer. */
"Immune to spam and abuse" = "Защищен от спама";
@@ -1385,6 +1478,9 @@
/* No comment provided by engineer. */
"Incompatible database version" = "Несовместимая версия базы данных";
/* PIN entry */
"Incorrect passcode" = "Неправильный код";
/* No comment provided by engineer. */
"Incorrect security code!" = "Неправильный код безопасности!";
@@ -1463,6 +1559,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "Это позволяет иметь много анонимных соединений без общих данных между ними в одном профиле пользователя.";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "Это может произойти, когда Вы или Ваш контакт используете старую копию базы данных.";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "Это может произойти, когда:\n1. Клиент отправителя удалил неотправленные сообщения через 2 дня, или сервер через 30 дней.\n2. Расшифровка сообщения была невозможна, когда Вы или Ваш контакт использовали старую копию базы данных.\n3. Соединение компроментировано.";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "Возможно, Вы уже соединились через эту ссылку. Если это не так, то это ошибка (%@).";
@@ -1490,6 +1592,9 @@
/* No comment provided by engineer. */
"Keychain error" = "Ошибка Keychain";
/* No comment provided by engineer. */
"KeyChain error" = "Ошибка KeyChain";
/* No comment provided by engineer. */
"Large file!" = "Большой файл!";
@@ -1526,6 +1631,12 @@
/* No comment provided by engineer. */
"Local profile data only" = "Только локальные данные профиля";
/* No comment provided by engineer. */
"Lock after" = "Заблокировать через";
/* No comment provided by engineer. */
"Lock mode" = "Режим блокировки";
/* No comment provided by engineer. */
"Make a private connection" = "Добавьте контакт";
@@ -1673,6 +1784,9 @@
/* notification */
"New message" = "Новое сообщение";
/* No comment provided by engineer. */
"New Passcode" = "Новый Код";
/* No comment provided by engineer. */
"New passphrase…" = "Новый пароль…";
@@ -1682,6 +1796,9 @@
/* No comment provided by engineer. */
"No" = "Нет";
/* Authentication unavailable */
"No app password" = "Нет кода доступа";
/* No comment provided by engineer. */
"No contacts selected" = "Контакты не выбраны";
@@ -1719,6 +1836,9 @@
group pref value */
"off" = "нет";
/* No comment provided by engineer. */
"Off" = "Выключено";
/* No comment provided by engineer. */
"Off (Local)" = "Выключить (Локальные)";
@@ -1764,6 +1884,9 @@
/* No comment provided by engineer. */
"Only you can irreversibly delete messages (your contact can mark them for deletion)." = "Только Вы можете необратимо удалять сообщения (Ваш контакт может помечать их на удаление).";
/* No comment provided by engineer. */
"Only you can make calls." = "Только Вы можете совершать звонки.";
/* No comment provided by engineer. */
"Only you can send disappearing messages." = "Только Вы можете отправлять исчезающие сообщения.";
@@ -1773,6 +1896,9 @@
/* No comment provided by engineer. */
"Only your contact can irreversibly delete messages (you can mark them for deletion)." = "Только Ваш контакт может необратимо удалять сообщения (Вы можете помечать их на удаление).";
/* No comment provided by engineer. */
"Only your contact can make calls." = "Только Ваш контакт может совершать звонки.";
/* No comment provided by engineer. */
"Only your contact can send disappearing messages." = "Только Ваш контакт может отправлять исчезающие сообщения.";
@@ -1803,6 +1929,21 @@
/* member role */
"owner" = "владелец";
/* No comment provided by engineer. */
"Passcode" = "Код доступа";
/* No comment provided by engineer. */
"Passcode changed!" = "Код доступа изменён!";
/* No comment provided by engineer. */
"Passcode entry" = "Ввод кода доступа";
/* No comment provided by engineer. */
"Passcode not changed!" = "Код доступа не изменён!";
/* No comment provided by engineer. */
"Passcode set!" = "Код доступа установлен!";
/* No comment provided by engineer. */
"Password to show" = "Пароль чтобы раскрыть";
@@ -1827,6 +1968,9 @@
/* No comment provided by engineer. */
"Periodically" = "Периодически";
/* message decrypt error item */
"Permanent decryption error" = "Ошибка расшифровки";
/* No comment provided by engineer. */
"PING count" = "Количество PING";
@@ -1854,6 +1998,12 @@
/* No comment provided by engineer. */
"Please enter the previous password after restoring database backup. This action can not be undone." = "Введите предыдущий пароль после восстановления резервной копии. Это действие нельзя отменить.";
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "Пожалуйста, запомните или сохраните его - восстановить потерянный пароль невозможно!";
/* No comment provided by engineer. */
"Please report it to the developers." = "Пожалуйста, сообщите об этой ошибке девелоперам.";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "Пожалуйста, перезапустите приложение и переместите данные чата, чтобы включить доставку уведомлений.";
@@ -1863,6 +2013,9 @@
/* No comment provided by engineer. */
"Please store passphrase securely, you will NOT be able to change it if you lose it." = "Пожалуйста, надежно сохраните пароль, Вы НЕ сможете его поменять, если потеряете.";
/* No comment provided by engineer. */
"Polish interface" = "Польский интерфейс";
/* server test error */
"Possibly, certificate fingerprint in server address is incorrect" = "Возможно, хэш сертификата в адресе сервера неверный";
@@ -1893,6 +2046,9 @@
/* No comment provided by engineer. */
"Profile password" = "Пароль профиля";
/* No comment provided by engineer. */
"Prohibit audio/video calls." = "Запретить аудио/видео звонки.";
/* No comment provided by engineer. */
"Prohibit irreversible message deletion." = "Запретить необратимое удаление сообщений.";
@@ -1938,6 +2094,9 @@
/* notification */
"Received file event" = "Загрузка файла";
/* No comment provided by engineer. */
"Receiving file will be stopped." = "Приём файла будет прекращён.";
/* No comment provided by engineer. */
"Receiving via" = "Получение через";
@@ -2025,6 +2184,15 @@
/* No comment provided by engineer. */
"Revert" = "Отменить изменения";
/* No comment provided by engineer. */
"Revoke" = "Отозвать";
/* cancel file action */
"Revoke file" = "Отозвать файл";
/* No comment provided by engineer. */
"Revoke file?" = "Отозвать файл?";
/* No comment provided by engineer. */
"Role" = "Роль";
@@ -2133,15 +2301,15 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "Отправьте из галереи или из дополнительных клавиатур.";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "Отправлять видео и файлы через XFTP";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "Отправитель отменил передачу файла.";
/* No comment provided by engineer. */
"Sender may have deleted the connection request." = "Отправитель мог удалить запрос на соединение.";
/* No comment provided by engineer. */
"Sending file will be stopped." = "Отправка файла будет остановлена.";
/* No comment provided by engineer. */
"Sending via" = "Отправка через";
@@ -2154,6 +2322,9 @@
/* server test error */
"Server requires authorization to create queues, check password" = "Сервер требует авторизации для создания очередей, проверьте пароль";
/* server test error */
"Server requires authorization to upload, check password" = "Сервер требует авторизации для загрузки, проверьте пароль";
/* No comment provided by engineer. */
"Server test failed!" = "Ошибка теста сервера!";
@@ -2169,6 +2340,9 @@
/* No comment provided by engineer. */
"Set group preferences" = "Предпочтения группы";
/* No comment provided by engineer. */
"Set it instead of system authentication." = "Установите код вместо системной аутентификации.";
/* No comment provided by engineer. */
"Set passphrase to export" = "Установите пароль";
@@ -2226,6 +2400,12 @@
/* No comment provided by engineer. */
"SimpleX Lock" = "Блокировка SimpleX";
/* No comment provided by engineer. */
"SimpleX Lock mode" = "Режим Блокировки SimpleX";
/* No comment provided by engineer. */
"SimpleX Lock not enabled!" = "Блокировка SimpleX не включена!";
/* No comment provided by engineer. */
"SimpleX Lock turned on" = "Блокировка SimpleX включена";
@@ -2268,18 +2448,33 @@
/* No comment provided by engineer. */
"Stop chat?" = "Остановить чат?";
/* cancel file action */
"Stop file" = "Остановить файл";
/* No comment provided by engineer. */
"Stop receiving file?" = "Остановить приём файла?";
/* No comment provided by engineer. */
"Stop sending file?" = "Остановить отправку файла?";
/* authentication reason */
"Stop SimpleX" = "Остановить SimpleX";
/* No comment provided by engineer. */
"strike" = "зачеркнуть";
/* No comment provided by engineer. */
"Submit" = "Продолжить";
/* No comment provided by engineer. */
"Support SimpleX Chat" = "Поддержать SimpleX Chat";
/* No comment provided by engineer. */
"System" = "Системная";
/* No comment provided by engineer. */
"System authentication" = "Системная аутентификация";
/* No comment provided by engineer. */
"Take picture" = "Сделать фото";
@@ -2352,6 +2547,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "Группа полностью децентрализована — она видна только членам.";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "Хэш предыдущего сообщения отличается.";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "Неправильный ID предыдущего сообщения (меньше или равен предыдущему).\nЭто может произойти из-за ошибки программы, или когда соединение компроментировано.";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "Сообщение будет удалено для всех членов группы.";
@@ -2394,6 +2595,9 @@
/* notification title */
"this contact" = "этот контакт";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "Эта ошибка постоянная для этого соединения, пожалуйста, соединитесь снова.";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "Это экспериментальная функция! Она будет работать, только если на другом клиенте установлена версия 4.2. После завершения смены адреса Вы увидите сообщение — убедитесь, что Вы все еще можете получать сообщения от этого контакта (или члена группы).";
@@ -2490,6 +2694,9 @@
/* No comment provided by engineer. */
"Unlock" = "Разблокировать";
/* authentication reason */
"Unlock app" = "Разблокировать";
/* No comment provided by engineer. */
"Unmute" = "Уведомлять";
@@ -2523,6 +2730,9 @@
/* No comment provided by engineer. */
"Upgrade and open chat" = "Обновить и открыть чат";
/* server test step */
"Upload file" = "Загрузка файла";
/* No comment provided by engineer. */
"Use .onion hosts" = "Использовать .onion хосты";
@@ -2580,6 +2790,15 @@
/* No comment provided by engineer. */
"video call (not e2e encrypted)" = "видеозвонок (не e2e зашифрованный)";
/* No comment provided by engineer. */
"Video will be received when your contact completes uploading it." = "Видео будет получено когда Ваш контакт загрузит его.";
/* No comment provided by engineer. */
"Video will be received when your contact is online, please wait or check later!" = "Видео будет получено, когда Ваш контакт будет онлайн, пожалуйста, подождите или проверьте позже!";
/* No comment provided by engineer. */
"Videos and files up to 1gb" = "Видео и файлы до 1гб";
/* No comment provided by engineer. */
"View security code" = "Показать код безопасности";
@@ -2610,6 +2829,9 @@
/* No comment provided by engineer. */
"Waiting for image" = "Ожидается прием изображения";
/* No comment provided by engineer. */
"Waiting for video" = "Ожидание видео";
/* No comment provided by engineer. */
"wants to connect to you!" = "хочет соединиться с Вами!";
@@ -2700,6 +2922,9 @@
/* No comment provided by engineer. */
"You can start chat via app Settings / Database or by restarting the app" = "Вы можете запустить чат через Настройки приложения или перезапустив приложение.";
/* No comment provided by engineer. */
"You can turn on SimpleX Lock via Settings." = "Вы можете включить Блокировку SimpleX через Настройки.";
/* No comment provided by engineer. */
"You can use markdown to format messages:" = "Вы можете форматировать сообщения:";

View File

@@ -383,9 +383,15 @@
/* integrity error chat item */
"bad message hash" = "错误消息散列";
/* No comment provided by engineer. */
"Bad message hash" = "错误消息散列";
/* integrity error chat item */
"bad message ID" = "错误消息 ID";
/* No comment provided by engineer. */
"Bad message ID" = "错误消息 ID";
/* No comment provided by engineer. */
"bold" = "加粗";
@@ -782,6 +788,9 @@
/* No comment provided by engineer. */
"Decentralized" = "分散式";
/* No comment provided by engineer. */
"Decryption error" = "解密错误";
/* pref value */
"default (%@)" = "默认 (%@)";
@@ -1517,6 +1526,12 @@
/* No comment provided by engineer. */
"It allows having many anonymous connections without any shared data between them in a single chat profile." = "它允许在一个聊天资料中有多个匿名连接,而它们之间没有任何共享数据。";
/* No comment provided by engineer. */
"It can happen when you or your connection used the old database backup." = "当您或您的连接使用旧数据库备份时,可能会发生这种情况。";
/* No comment provided by engineer. */
"It can happen when:\n1. The messages expired in the sending client after 2 days or on the server after 30 days.\n2. Message decryption failed, because you or your contact used old database backup.\n3. The connection was compromised." = "它可能在以下情况发生:\n1. 消息在发送客户端 2 天后或在服务器上 30 天后过期。\n2. 消息解密失败,因为您或您的联系人使用了旧的数据库备份。\n3.连接被破坏。";
/* No comment provided by engineer. */
"It seems like you are already connected via this link. If it is not the case, there was an error (%@)." = "您似乎已经通过此链接连接。如果不是这样,则有一个错误 (%@)。";
@@ -1914,6 +1929,9 @@
/* No comment provided by engineer. */
"Periodically" = "定期";
/* message decrypt error item */
"Permanent decryption error" = "解密错误";
/* No comment provided by engineer. */
"PING count" = "PING 次数";
@@ -1944,6 +1962,9 @@
/* No comment provided by engineer. */
"Please remember or store it securely - there is no way to recover a lost passcode!" = "请牢记或妥善保管——丢失的密码将无法恢复!";
/* No comment provided by engineer. */
"Please report it to the developers." = "请向开发者报告。";
/* No comment provided by engineer. */
"Please restart the app and migrate the database to enable push notifications." = "请重新启动应用程序并迁移数据库以启用推送通知。";
@@ -2223,9 +2244,6 @@
/* No comment provided by engineer. */
"Send them from gallery or custom keyboards." = "发送它们来自图库或自定义键盘。";
/* No comment provided by engineer. */
"Send videos and files via XFTP" = "通过 XFTP 发送文件";
/* No comment provided by engineer. */
"Sender cancelled file transfer." = "发送人已取消文件传输。";
@@ -2457,6 +2475,12 @@
/* No comment provided by engineer. */
"The group is fully decentralized it is visible only to the members." = "该小组是完全分散式的——它只对成员可见。";
/* No comment provided by engineer. */
"The hash of the previous message is different." = "上一条消息的散列不同。";
/* No comment provided by engineer. */
"The ID of the next message is incorrect (less or equal to the previous).\nIt can happen because of some bug or when the connection is compromised." = "下一条消息的 ID 不正确(小于或等于上一条)。\n它可能是由于某些错误或连接被破坏才发生。";
/* No comment provided by engineer. */
"The message will be deleted for all members." = "将为所有成员删除该消息。";
@@ -2499,6 +2523,9 @@
/* notification title */
"this contact" = "这个联系人";
/* No comment provided by engineer. */
"This error is permanent for this connection, please re-connect." = "此错误对于此连接是永久性的,请重新连接。";
/* No comment provided by engineer. */
"This feature is experimental! It will only work if the other client has version 4.2 installed. You should see the message in the conversation once the address change is completed please check that you can still receive messages from this contact (or group member)." = "此功能是实验性的! 它仅在其他客户端安装了 4.2 版时才有效。 地址更改完成后,您应该会在对话中看到该消息——请检查您是否仍能收到来自该联系人(或群组成员)的消息。";

View File

@@ -14,5 +14,5 @@ for lang in "${langs[@]}"; do
-localizationPath ./apps/ios/SimpleX\ Localizations/$lang.xcloc \
-disableAutomaticPackageResolution \
-skipPackageUpdates
sleep 2
sleep 10
done

View File

@@ -939,7 +939,7 @@ processChatCommand = \case
CRServerTestResult user srv <$> withAgent (\a -> testProtocolServer a (aUserId user) server)
TestProtoServer srv -> withUser $ \User {userId} ->
processChatCommand $ APITestProtoServer userId srv
APISetChatItemTTL userId newTTL_ -> withUser' $ \user -> do
APISetChatItemTTL userId newTTL_ -> withUser $ \user -> do
checkSameUser userId user
checkStoreNotChanged $
withChatLock "setChatItemTTL" $ do