android, desktop: ability to delete the last profile (#3645)

* android, desktop: ability to delete the last profile

* hide modals to see onboarding after removing the last visible user

* removed unused checks

* make multiple profile creation usable

* deleting the last user by removing the whole database

* adapted to new logic

* changes

* not deleting the whole database

* refactor

* hide search when no profile

* changes
This commit is contained in:
Stanislav Dmitrenko 2024-01-19 00:16:44 +07:00 committed by GitHub
parent ddcd7d495e
commit c4d75366b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
34 changed files with 110 additions and 177 deletions

View File

@ -152,7 +152,7 @@ object ChatModel {
fun removeUser(user: User) { fun removeUser(user: User) {
val i = getUserIndex(user) val i = getUserIndex(user)
if (i != -1 && users[i].user.userId != currentUser.value?.userId) { if (i != -1) {
users.removeAt(i) users.removeAt(i)
} }
} }

View File

@ -351,7 +351,6 @@ object ChatController {
suspend fun startChat(user: User) { suspend fun startChat(user: User) {
Log.d(TAG, "user: $user") Log.d(TAG, "user: $user")
try { try {
if (chatModel.chatRunning.value == true) return
apiSetNetworkConfig(getNetCfg()) apiSetNetworkConfig(getNetCfg())
val justStarted = apiStartChat() val justStarted = apiStartChat()
appPrefs.chatStopped.set(false) appPrefs.chatStopped.set(false)
@ -410,9 +409,9 @@ object ChatController {
} }
} }
suspend fun changeActiveUser_(rhId: Long?, toUserId: Long, viewPwd: String?) { suspend fun changeActiveUser_(rhId: Long?, toUserId: Long?, viewPwd: String?) {
val currentUser = changingActiveUserMutex.withLock { val currentUser = changingActiveUserMutex.withLock {
apiSetActiveUser(rhId, toUserId, viewPwd).also { (if (toUserId != null) apiSetActiveUser(rhId, toUserId, viewPwd) else apiGetActiveUser(rhId)).also {
chatModel.currentUser.value = it chatModel.currentUser.value = it
} }
} }
@ -421,7 +420,7 @@ object ChatController {
chatModel.users.addAll(users) chatModel.users.addAll(users)
getUserChatData(rhId) getUserChatData(rhId)
val invitation = chatModel.callInvitations.values.firstOrNull { inv -> inv.user.userId == toUserId } val invitation = chatModel.callInvitations.values.firstOrNull { inv -> inv.user.userId == toUserId }
if (invitation != null) { if (invitation != null && currentUser != null) {
chatModel.callManager.reportNewIncomingCall(invitation.copy(user = currentUser)) chatModel.callManager.reportNewIncomingCall(invitation.copy(user = currentUser))
} }
} }

View File

@ -177,8 +177,10 @@ fun CreateFirstProfile(chatModel: ChatModel, close: () -> Unit) {
fun createProfileInNoProfileSetup(displayName: String, close: () -> Unit) { fun createProfileInNoProfileSetup(displayName: String, close: () -> Unit) {
withBGApi { withBGApi {
val user = controller.apiCreateActiveUser(null, Profile(displayName.trim(), "", null)) ?: return@withBGApi val user = controller.apiCreateActiveUser(null, Profile(displayName.trim(), "", null)) ?: return@withBGApi
if (!chatModel.connectedToRemote()) {
chatModel.localUserCreated.value = true
}
controller.appPrefs.onboardingStage.set(OnboardingStage.Step3_CreateSimpleXAddress) controller.appPrefs.onboardingStage.set(OnboardingStage.Step3_CreateSimpleXAddress)
chatModel.chatRunning.value = false
controller.startChat(user) controller.startChat(user)
controller.switchUIRemoteHost(null) controller.switchUIRemoteHost(null)
close() close()
@ -210,6 +212,7 @@ fun createProfileOnboarding(chatModel: ChatModel, displayName: String, close: ()
chatModel.currentUser.value = chatModel.controller.apiCreateActiveUser( chatModel.currentUser.value = chatModel.controller.apiCreateActiveUser(
null, Profile(displayName.trim(), "", null) null, Profile(displayName.trim(), "", null)
) ?: return@withBGApi ) ?: return@withBGApi
chatModel.localUserCreated.value = true
val onboardingStage = chatModel.controller.appPrefs.onboardingStage val onboardingStage = chatModel.controller.appPrefs.onboardingStage
if (chatModel.users.isEmpty()) { if (chatModel.users.isEmpty()) {
onboardingStage.set(if (appPlatform.isDesktop && chatModel.controller.appPrefs.initialRandomDBPassphrase.get() && !chatModel.desktopOnboardingRandomPassword.value) { onboardingStage.set(if (appPlatform.isDesktop && chatModel.controller.appPrefs.initialRandomDBPassphrase.get() && !chatModel.desktopOnboardingRandomPassword.value) {

View File

@ -107,7 +107,9 @@ fun ChatListView(chatModel: ChatModel, settingsState: SettingsViewState, setPerf
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
) { ) {
ChatList(chatModel, searchText = searchText) if (!chatModel.desktopNoUserNoRemote) {
ChatList(chatModel, searchText = searchText)
}
if (chatModel.chats.isEmpty() && !chatModel.switchingUsersAndHosts.value && !chatModel.desktopNoUserNoRemote) { if (chatModel.chats.isEmpty() && !chatModel.switchingUsersAndHosts.value && !chatModel.desktopNoUserNoRemote) {
Text(stringResource( Text(stringResource(
if (chatModel.chatRunning.value == null) MR.strings.loading_chats else MR.strings.you_have_no_chats), Modifier.align(Alignment.Center), color = MaterialTheme.colors.secondary) if (chatModel.chatRunning.value == null) MR.strings.loading_chats else MR.strings.you_have_no_chats), Modifier.align(Alignment.Center), color = MaterialTheme.colors.secondary)

View File

@ -213,26 +213,29 @@ fun UserPicker(
userPickerState.value = AnimatedViewState.GONE userPickerState.value = AnimatedViewState.GONE
} }
Divider(Modifier.requiredHeight(1.dp)) Divider(Modifier.requiredHeight(1.dp))
} else if (remoteHosts.isEmpty()) { } else {
LinkAMobilePickerItem { if (remoteHosts.isEmpty()) {
ModalManager.start.showModal { LinkAMobilePickerItem {
ConnectMobileView() ModalManager.start.showModal {
ConnectMobileView()
}
userPickerState.value = AnimatedViewState.GONE
} }
userPickerState.value = AnimatedViewState.GONE Divider(Modifier.requiredHeight(1.dp))
} }
Divider(Modifier.requiredHeight(1.dp)) if (chatModel.desktopNoUserNoRemote) {
} else if (chatModel.desktopNoUserNoRemote) { CreateInitialProfile {
CreateInitialProfile { doWithAuth(generalGetString(MR.strings.auth_open_chat_profiles), generalGetString(MR.strings.auth_log_in_using_credential)) {
doWithAuth(generalGetString(MR.strings.auth_open_chat_profiles), generalGetString(MR.strings.auth_log_in_using_credential)) { ModalManager.center.showModalCloseable { close ->
ModalManager.center.showModalCloseable { close -> LaunchedEffect(Unit) {
LaunchedEffect(Unit) { userPickerState.value = AnimatedViewState.HIDING
userPickerState.value = AnimatedViewState.HIDING }
CreateProfile(chat.simplex.common.platform.chatModel, close)
} }
CreateProfile(chat.simplex.common.platform.chatModel, close)
} }
} }
Divider(Modifier.requiredHeight(1.dp))
} }
Divider(Modifier.requiredHeight(1.dp))
} }
if (showSettings) { if (showSettings) {
SettingsPickerItem(settingsClicked) SettingsPickerItem(settingsClicked)

View File

@ -470,10 +470,10 @@ suspend fun deleteChatAsync(m: ChatModel) {
m.controller.apiDeleteStorage() m.controller.apiDeleteStorage()
DatabaseUtils.ksDatabasePassword.remove() DatabaseUtils.ksDatabasePassword.remove()
m.controller.appPrefs.storeDBPassphrase.set(true) m.controller.appPrefs.storeDBPassphrase.set(true)
deleteAppDatabaseAndFiles() deleteChatDatabaseFilesAndState()
} }
fun deleteAppDatabaseAndFiles() { fun deleteChatDatabaseFilesAndState() {
val chat = File(dataDir, chatDatabaseFileName) val chat = File(dataDir, chatDatabaseFileName)
val chatBak = File(dataDir, "$chatDatabaseFileName.bak") val chatBak = File(dataDir, "$chatDatabaseFileName.bak")
val agent = File(dataDir, agentDatabaseFileName) val agent = File(dataDir, agentDatabaseFileName)
@ -489,6 +489,13 @@ fun deleteAppDatabaseAndFiles() {
tmpDir.mkdir() tmpDir.mkdir()
DatabaseUtils.ksDatabasePassword.remove() DatabaseUtils.ksDatabasePassword.remove()
controller.appPrefs.storeDBPassphrase.set(true) controller.appPrefs.storeDBPassphrase.set(true)
controller.ctrl = null
// Clear sensitive data on screen just in case ModalManager will fail to prevent hiding its modals while database encrypts itself
chatModel.chatId.value = null
chatModel.chatItems.clear()
chatModel.chats.clear()
chatModel.users.clear()
} }
private fun exportArchive( private fun exportArchive(

View File

@ -67,12 +67,7 @@ private fun deleteStorageAndRestart(m: ChatModel, password: String, completed: (
* */ * */
chatCloseStore(ctrl) chatCloseStore(ctrl)
} }
deleteAppDatabaseAndFiles() deleteChatDatabaseFilesAndState()
// Clear sensitive data on screen just in case ModalManager fails to hide its modals while new database is created
m.chatId.value = null
m.chatItems.clear()
m.chats.clear()
m.users.clear()
ksAppPassword.set(password) ksAppPassword.set(password)
ksSelfDestructPassword.remove() ksSelfDestructPassword.remove()
ntfManager.cancelAllNotifications() ntfManager.cancelAllNotifications()
@ -81,14 +76,7 @@ private fun deleteStorageAndRestart(m: ChatModel, password: String, completed: (
val displayName = displayNamePref.get() val displayName = displayNamePref.get()
selfDestructPref.set(false) selfDestructPref.set(false)
displayNamePref.set(null) displayNamePref.set(null)
m.chatDbChanged.value = true reinitChatController()
m.chatDbStatus.value = null
try {
initChatController()
} catch (e: Exception) {
Log.d(TAG, "initializeChat ${e.stackTraceToString()}")
}
m.chatDbChanged.value = false
if (m.currentUser.value != null) { if (m.currentUser.value != null) {
return@withBGApi return@withBGApi
} }
@ -100,7 +88,6 @@ private fun deleteStorageAndRestart(m: ChatModel, password: String, completed: (
m.currentUser.value = createdUser m.currentUser.value = createdUser
m.controller.appPrefs.onboardingStage.set(OnboardingStage.OnboardingComplete) m.controller.appPrefs.onboardingStage.set(OnboardingStage.OnboardingComplete)
if (createdUser != null) { if (createdUser != null) {
controller.chatModel.chatRunning.value = false
m.controller.startChat(createdUser) m.controller.startChat(createdUser)
} }
ModalManager.closeAllModalsEverywhere() ModalManager.closeAllModalsEverywhere()
@ -113,3 +100,14 @@ private fun deleteStorageAndRestart(m: ChatModel, password: String, completed: (
} }
} }
} }
suspend fun reinitChatController() {
chatModel.chatDbChanged.value = true
chatModel.chatDbStatus.value = null
try {
initChatController()
} catch (e: Exception) {
Log.d(TAG, "initializeChat ${e.stackTraceToString()}")
}
chatModel.chatDbChanged.value = false
}

View File

@ -173,17 +173,6 @@ private fun prepareChatBeforeAddressCreation(rhId: Long?) {
withBGApi { withBGApi {
val user = chatModel.controller.apiGetActiveUser(rhId) ?: return@withBGApi val user = chatModel.controller.apiGetActiveUser(rhId) ?: return@withBGApi
chatModel.currentUser.value = user chatModel.currentUser.value = user
if (chatModel.users.isEmpty()) { chatModel.controller.startChat(user)
if (appPlatform.isDesktop) {
// Make possible to use chat after going to remote device linking and returning back to local profile creation
chatModel.chatRunning.value = false
}
chatModel.controller.startChat(user)
} else {
val users = chatModel.controller.listUsers(rhId)
chatModel.users.clear()
chatModel.users.addAll(users)
chatModel.controller.getUserChatData(rhId)
}
} }
} }

View File

@ -33,7 +33,7 @@ import chat.simplex.common.views.onboarding.WhatsNewView
import chat.simplex.common.views.remote.ConnectDesktopView import chat.simplex.common.views.remote.ConnectDesktopView
import chat.simplex.common.views.remote.ConnectMobileView import chat.simplex.common.views.remote.ConnectMobileView
import chat.simplex.res.MR import chat.simplex.res.MR
import kotlinx.coroutines.launch import kotlinx.coroutines.*
@Composable @Composable
fun SettingsView(chatModel: ChatModel, setPerformLA: (Boolean) -> Unit, drawerState: DrawerState) { fun SettingsView(chatModel: ChatModel, setPerformLA: (Boolean) -> Unit, drawerState: DrawerState) {
@ -119,7 +119,7 @@ fun SettingsLayout(
SectionItemView(showCustomModal { chatModel, close -> UserProfileView(chatModel, close) }, 80.dp, padding = PaddingValues(start = 16.dp, end = DEFAULT_PADDING), disabled = stopped) { SectionItemView(showCustomModal { chatModel, close -> UserProfileView(chatModel, close) }, 80.dp, padding = PaddingValues(start = 16.dp, end = DEFAULT_PADDING), disabled = stopped) {
ProfilePreview(profile, stopped = stopped) ProfilePreview(profile, stopped = stopped)
} }
SettingsActionItem(painterResource(MR.images.ic_manage_accounts), stringResource(MR.strings.your_chat_profiles), { withAuth(generalGetString(MR.strings.auth_open_chat_profiles), generalGetString(MR.strings.auth_log_in_using_credential)) { showSettingsModalWithSearch { it, search -> UserProfilesView(it, search, profileHidden) } } }, disabled = stopped, extraPadding = true) SettingsActionItem(painterResource(MR.images.ic_manage_accounts), stringResource(MR.strings.your_chat_profiles), { withAuth(generalGetString(MR.strings.auth_open_chat_profiles), generalGetString(MR.strings.auth_log_in_using_credential)) { showSettingsModalWithSearch { it, search -> UserProfilesView(it, search, profileHidden, drawerState) } } }, disabled = stopped, extraPadding = true)
SettingsActionItem(painterResource(MR.images.ic_qr_code), stringResource(MR.strings.your_simplex_contact_address), showCustomModal { it, close -> UserAddressView(it, shareViaProfile = it.currentUser.value!!.addressShared, close = close) }, disabled = stopped, extraPadding = true) SettingsActionItem(painterResource(MR.images.ic_qr_code), stringResource(MR.strings.your_simplex_contact_address), showCustomModal { it, close -> UserAddressView(it, shareViaProfile = it.currentUser.value!!.addressShared, close = close) }, disabled = stopped, extraPadding = true)
ChatPreferencesItem(showCustomModal, stopped = stopped) ChatPreferencesItem(showCustomModal, stopped = stopped)
} else if (chatModel.localUserCreated.value == false) { } else if (chatModel.localUserCreated.value == false) {

View File

@ -27,18 +27,20 @@ import chat.simplex.common.ui.theme.*
import chat.simplex.common.views.chat.item.ItemAction import chat.simplex.common.views.chat.item.ItemAction
import chat.simplex.common.views.chatlist.UserProfilePickerItem import chat.simplex.common.views.chatlist.UserProfilePickerItem
import chat.simplex.common.views.chatlist.UserProfileRow import chat.simplex.common.views.chatlist.UserProfileRow
import chat.simplex.common.views.database.PassphraseField
import chat.simplex.common.views.helpers.* import chat.simplex.common.views.helpers.*
import chat.simplex.common.views.CreateProfile import chat.simplex.common.views.CreateProfile
import chat.simplex.common.views.database.*
import chat.simplex.common.views.onboarding.OnboardingStage
import chat.simplex.res.MR import chat.simplex.res.MR
import dev.icerock.moko.resources.StringResource import dev.icerock.moko.resources.StringResource
import kotlinx.coroutines.delay import kotlinx.coroutines.*
@Composable @Composable
fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden: MutableState<Boolean>) { fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden: MutableState<Boolean>, drawerState: DrawerState) {
val searchTextOrPassword = rememberSaveable { search } val searchTextOrPassword = rememberSaveable { search }
val users by remember { derivedStateOf { m.users.map { it.user } } } val users by remember { derivedStateOf { m.users.map { it.user } } }
val filteredUsers by remember { derivedStateOf { filteredUsers(m, searchTextOrPassword.value) } } val filteredUsers by remember { derivedStateOf { filteredUsers(m, searchTextOrPassword.value) } }
val scope = rememberCoroutineScope()
UserProfilesLayout( UserProfilesLayout(
users = users, users = users,
filteredUsers = filteredUsers, filteredUsers = filteredUsers,
@ -49,6 +51,12 @@ fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden:
addUser = { addUser = {
ModalManager.center.showModalCloseable { close -> ModalManager.center.showModalCloseable { close ->
CreateProfile(m, close) CreateProfile(m, close)
if (appPlatform.isDesktop) {
// Hide settings to allow clicks to pass through to CreateProfile view
DisposableEffectOnGone(always = { scope.launch { drawerState.close() } }) {
// Show settings again to allow intercept clicks to close modals after profile creation finishes
scope.launch(NonCancellable) { drawerState.open() } }
}
} }
}, },
activateUser = { user -> activateUser = { user ->
@ -63,45 +71,34 @@ fun UserProfilesView(m: ChatModel, search: MutableState<String>, profileHidden:
} }
}, },
removeUser = { user -> removeUser = { user ->
if (m.users.size > 1 && (user.hidden || visibleUsersCount(m) > 1)) { val text = buildAnnotatedString {
val text = buildAnnotatedString { append(generalGetString(MR.strings.users_delete_all_chats_deleted) + "\n\n" + generalGetString(MR.strings.users_delete_profile_for) + " ")
append(generalGetString(MR.strings.users_delete_all_chats_deleted) + "\n\n" + generalGetString(MR.strings.users_delete_profile_for) + " ") withStyle(SpanStyle(fontWeight = FontWeight.Bold)) {
withStyle(SpanStyle(fontWeight = FontWeight.Bold)) { append(user.displayName)
append(user.displayName)
}
append(":")
} }
AlertManager.shared.showAlertDialogButtonsColumn( append(":")
title = generalGetString(MR.strings.users_delete_question), }
text = text, AlertManager.shared.showAlertDialogButtonsColumn(
buttons = { title = generalGetString(MR.strings.users_delete_question),
Column { text = text,
SectionItemView({ buttons = {
AlertManager.shared.hideAlert() Column {
removeUser(m, user, users, true, searchTextOrPassword.value.trim()) SectionItemView({
}) { AlertManager.shared.hideAlert()
Text(stringResource(MR.strings.users_delete_with_connections), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red) removeUser(m, user, users, true, searchTextOrPassword.value.trim())
} }) {
SectionItemView({ Text(stringResource(MR.strings.users_delete_with_connections), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red)
AlertManager.shared.hideAlert() }
removeUser(m, user, users, false, searchTextOrPassword.value.trim()) SectionItemView({
} AlertManager.shared.hideAlert()
) { removeUser(m, user, users, false, searchTextOrPassword.value.trim())
Text(stringResource(MR.strings.users_delete_data_only), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red) }
} ) {
Text(stringResource(MR.strings.users_delete_data_only), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = Color.Red)
} }
} }
) }
} else { )
AlertManager.shared.showAlertMsg(
title = generalGetString(MR.strings.cant_delete_user_profile),
text = if (m.users.size > 1) {
generalGetString(MR.strings.should_be_at_least_one_visible_profile)
} else {
generalGetString(MR.strings.should_be_at_least_one_profile)
}
)
}
}, },
unhideUser = { user -> unhideUser = { user ->
if (passwordEntryRequired(user, searchTextOrPassword.value)) { if (passwordEntryRequired(user, searchTextOrPassword.value)) {
@ -178,7 +175,7 @@ private fun UserProfilesLayout(
SectionView { SectionView {
for (user in filteredUsers) { for (user in filteredUsers) {
UserView(user, users, visibleUsersCount, activateUser, removeUser, unhideUser, muteUser, unmuteUser, showHiddenProfile) UserView(user, visibleUsersCount, activateUser, removeUser, unhideUser, muteUser, unmuteUser, showHiddenProfile)
SectionDivider() SectionDivider()
} }
if (searchTextOrPassword.value.trim().isEmpty()) { if (searchTextOrPassword.value.trim().isEmpty()) {
@ -210,7 +207,6 @@ private fun UserProfilesLayout(
@Composable @Composable
private fun UserView( private fun UserView(
user: User, user: User,
users: List<User>,
visibleUsersCount: Int, visibleUsersCount: Int,
activateUser: (User) -> Unit, activateUser: (User) -> Unit,
removeUser: (User) -> Unit, removeUser: (User) -> Unit,
@ -220,7 +216,7 @@ private fun UserView(
showHiddenProfile: (User) -> Unit, showHiddenProfile: (User) -> Unit,
) { ) {
val showMenu = remember { mutableStateOf(false) } val showMenu = remember { mutableStateOf(false) }
UserProfilePickerItem(user, onLongClick = { if (users.size > 1) showMenu.value = true }) { UserProfilePickerItem(user, onLongClick = { showMenu.value = true }) {
activateUser(user) activateUser(user)
} }
Box(Modifier.padding(horizontal = DEFAULT_PADDING)) { Box(Modifier.padding(horizontal = DEFAULT_PADDING)) {
@ -350,22 +346,28 @@ private fun removeUser(m: ChatModel, user: User, users: List<User>, delSMPQueues
} }
private suspend fun doRemoveUser(m: ChatModel, user: User, users: List<User>, delSMPQueues: Boolean, viewPwd: String?) { private suspend fun doRemoveUser(m: ChatModel, user: User, users: List<User>, delSMPQueues: Boolean, viewPwd: String?) {
if (users.size < 2) return
suspend fun deleteUser(user: User) {
m.controller.apiDeleteUser(user, delSMPQueues, viewPwd)
m.removeUser(user)
}
try { try {
if (user.activeUser) { when {
val newActive = users.firstOrNull { u -> !u.activeUser && !u.hidden } user.activeUser -> {
if (newActive != null) { val newActive = users.firstOrNull { u -> !u.activeUser && !u.hidden }
m.controller.changeActiveUser_(newActive.remoteHostId, newActive.userId, null) if (newActive != null) {
deleteUser(user.copy(activeUser = false)) m.controller.changeActiveUser_(user.remoteHostId, newActive.userId, null)
m.controller.apiDeleteUser(user, delSMPQueues, viewPwd)
} else {
// Deleting the last visible user while having hidden one(s)
m.controller.apiDeleteUser(user, delSMPQueues, viewPwd)
m.controller.changeActiveUser_(user.remoteHostId, null, null)
if (appPlatform.isAndroid) {
controller.appPrefs.onboardingStage.set(OnboardingStage.Step1_SimpleXInfo)
ModalManager.closeAllModalsEverywhere()
}
}
}
else -> {
m.controller.apiDeleteUser(user, delSMPQueues, viewPwd)
} }
} else {
deleteUser(user)
} }
m.removeUser(user)
} catch (e: Exception) { } catch (e: Exception) {
AlertManager.shared.showAlertMsg(generalGetString(MR.strings.error_deleting_user), e.stackTraceToString()) AlertManager.shared.showAlertMsg(generalGetString(MR.strings.error_deleting_user), e.stackTraceToString())
} }

View File

@ -145,7 +145,6 @@
<string name="settings_section_title_calls">المكالمات</string> <string name="settings_section_title_calls">المكالمات</string>
<string name="alert_title_cant_invite_contacts">لا يمكن دعوة جهات الاتصال!</string> <string name="alert_title_cant_invite_contacts">لا يمكن دعوة جهات الاتصال!</string>
<string name="rcv_conn_event_switch_queue_phase_completed">تم تغيير العنوان من أجلك</string> <string name="rcv_conn_event_switch_queue_phase_completed">تم تغيير العنوان من أجلك</string>
<string name="cant_delete_user_profile">لا يمكن حذف ملف تعريف المستخدم!</string>
<string name="icon_descr_video_asked_to_receive">طلب لاستلام الفيديو</string> <string name="icon_descr_video_asked_to_receive">طلب لاستلام الفيديو</string>
<string name="callstatus_in_progress">مكالمتك تحت الإجراء</string> <string name="callstatus_in_progress">مكالمتك تحت الإجراء</string>
<string name="change_database_passphrase_question">تغيير عبارة مرور قاعدة البيانات؟</string> <string name="change_database_passphrase_question">تغيير عبارة مرور قاعدة البيانات؟</string>
@ -1127,7 +1126,6 @@
<string name="database_initialization_error_desc">قاعدة البيانات لا تعمل بشكل صحيح. انقر لمعرفة المزيد</string> <string name="database_initialization_error_desc">قاعدة البيانات لا تعمل بشكل صحيح. انقر لمعرفة المزيد</string>
<string name="theme_colors_section_title">ألوان السمة</string> <string name="theme_colors_section_title">ألوان السمة</string>
<string name="tap_to_activate_profile">انقر لتنشيط الملف الشخصي.</string> <string name="tap_to_activate_profile">انقر لتنشيط الملف الشخصي.</string>
<string name="should_be_at_least_one_profile">يجب أن يكون هناك ملف تعريف مستخدم واحد على الأقل.</string>
<string name="v4_5_transport_isolation">عزل النقل</string> <string name="v4_5_transport_isolation">عزل النقل</string>
<string name="this_string_is_not_a_connection_link">هذه السلسلة ليست رابط اتصال!</string> <string name="this_string_is_not_a_connection_link">هذه السلسلة ليست رابط اتصال!</string>
<string name="receipts_section_description">هذه الإعدادات لملف التعريف الحالي الخاص بك</string> <string name="receipts_section_description">هذه الإعدادات لملف التعريف الحالي الخاص بك</string>
@ -1138,7 +1136,6 @@
<string name="whats_new_thanks_to_users_contribute_weblate">بفضل المستخدمين - المساهمة عبر Weblate!</string> <string name="whats_new_thanks_to_users_contribute_weblate">بفضل المستخدمين - المساهمة عبر Weblate!</string>
<string name="database_backup_can_be_restored">لم تكتمل محاولة تغيير عبارة مرور قاعدة البيانات.</string> <string name="database_backup_can_be_restored">لم تكتمل محاولة تغيير عبارة مرور قاعدة البيانات.</string>
<string name="enter_passphrase_notification_desc">لتلقي الإشعارات، يرجى إدخال عبارة مرور قاعدة البيانات</string> <string name="enter_passphrase_notification_desc">لتلقي الإشعارات، يرجى إدخال عبارة مرور قاعدة البيانات</string>
<string name="should_be_at_least_one_visible_profile">يجب أن يكون هناك ملف تعريف مستخدم مرئي واحد على الأقل.</string>
<string name="la_lock_mode_system">مصادقة النظام</string> <string name="la_lock_mode_system">مصادقة النظام</string>
<string name="sync_connection_force_desc">يعمل التشفير واتفاقية التشفير الجديدة غير مطلوبة. قد ينتج عن ذلك أخطاء في الاتصال!</string> <string name="sync_connection_force_desc">يعمل التشفير واتفاقية التشفير الجديدة غير مطلوبة. قد ينتج عن ذلك أخطاء في الاتصال!</string>
<string name="image_decoding_exception_desc">لا يمكن فك ترميز الصورة. من فضلك، جرب صورة مختلفة أو تواصل مع المطورين.</string> <string name="image_decoding_exception_desc">لا يمكن فك ترميز الصورة. من فضلك، جرب صورة مختلفة أو تواصل مع المطورين.</string>

View File

@ -1413,9 +1413,6 @@
<string name="user_unmute">Unmute</string> <string name="user_unmute">Unmute</string>
<string name="enter_password_to_show">Enter password in search</string> <string name="enter_password_to_show">Enter password in search</string>
<string name="tap_to_activate_profile">Tap to activate profile.</string> <string name="tap_to_activate_profile">Tap to activate profile.</string>
<string name="cant_delete_user_profile">Can\'t delete user profile!</string>
<string name="should_be_at_least_one_visible_profile">There should be at least one visible user profile.</string>
<string name="should_be_at_least_one_profile">There should be at least one user profile.</string>
<string name="make_profile_private">Make profile private!</string> <string name="make_profile_private">Make profile private!</string>
<string name="you_can_hide_or_mute_user_profile">You can hide or mute a user profile - hold it for the menu.</string> <string name="you_can_hide_or_mute_user_profile">You can hide or mute a user profile - hold it for the menu.</string>
<string name="dont_show_again">Don\'t show again</string> <string name="dont_show_again">Don\'t show again</string>

View File

@ -185,7 +185,6 @@
<string name="change_verb">Промени</string> <string name="change_verb">Промени</string>
<string name="change_member_role_question">Промяна на груповата роля\?</string> <string name="change_member_role_question">Промяна на груповата роля\?</string>
<string name="you_will_still_receive_calls_and_ntfs">Все още ще получавате обаждания и известия от заглушени профили, когато са активни.</string> <string name="you_will_still_receive_calls_and_ntfs">Все още ще получавате обаждания и известия от заглушени профили, когато са активни.</string>
<string name="cant_delete_user_profile">Потребителският профил не може да се изтрие!</string>
<string name="allow_disappearing_messages_only_if">Позволи изчезващи съобщения само ако вашият контакт ги разрешава.</string> <string name="allow_disappearing_messages_only_if">Позволи изчезващи съобщения само ако вашият контакт ги разрешава.</string>
<string name="allow_your_contacts_irreversibly_delete">Позволи на вашите контакти да изтриват необратимо изпратените съобщения. (24 часа)</string> <string name="allow_your_contacts_irreversibly_delete">Позволи на вашите контакти да изтриват необратимо изпратените съобщения. (24 часа)</string>
<string name="allow_your_contacts_to_send_disappearing_messages">Позволи на вашите контакти да изпращат изчезващи съобщения.</string> <string name="allow_your_contacts_to_send_disappearing_messages">Позволи на вашите контакти да изпращат изчезващи съобщения.</string>
@ -1165,8 +1164,6 @@
<string name="profile_is_only_shared_with_your_contacts">Профилът се споделя само с вашите контакти.</string> <string name="profile_is_only_shared_with_your_contacts">Профилът се споделя само с вашите контакти.</string>
<string name="delete_files_and_media_desc">Това действие не може да бъде отменено - всички получени и изпратени файлове и медия ще бъдат изтрити. Снимките с ниска разделителна способност ще бъдат запазени.</string> <string name="delete_files_and_media_desc">Това действие не може да бъде отменено - всички получени и изпратени файлове и медия ще бъдат изтрити. Снимките с ниска разделителна способност ще бъдат запазени.</string>
<string name="tap_to_activate_profile">Докосни за активиране на профил.</string> <string name="tap_to_activate_profile">Докосни за активиране на профил.</string>
<string name="should_be_at_least_one_profile">Трябва да има поне един потребителски профил.</string>
<string name="should_be_at_least_one_visible_profile">Трябва да има поне един видим потребителски профил.</string>
<string name="language_system">Системен</string> <string name="language_system">Системен</string>
<string name="color_title">Заглавие</string> <string name="color_title">Заглавие</string>
<string name="to_share_with_your_contact">(за споделяне с вашия контакт)</string> <string name="to_share_with_your_contact">(за споделяне с вашия контакт)</string>

View File

@ -960,7 +960,6 @@
<string name="language_system">Systém</string> <string name="language_system">Systém</string>
<string name="smp_save_servers_question">Uložit servery\?</string> <string name="smp_save_servers_question">Uložit servery\?</string>
<string name="dont_show_again">Znovu neukazuj</string> <string name="dont_show_again">Znovu neukazuj</string>
<string name="cant_delete_user_profile">Nemohu smazat uživatelský profil!</string>
<string name="button_add_welcome_message">Přidat uvítací zprávu</string> <string name="button_add_welcome_message">Přidat uvítací zprávu</string>
<string name="v4_6_chinese_spanish_interface">Čínské a Španělské rozhranní</string> <string name="v4_6_chinese_spanish_interface">Čínské a Španělské rozhranní</string>
<string name="v4_6_audio_video_calls">Hlasové a video hovory</string> <string name="v4_6_audio_video_calls">Hlasové a video hovory</string>
@ -991,12 +990,10 @@
<string name="v4_6_audio_video_calls_descr">Podpora bluetooth a další vylepšení.</string> <string name="v4_6_audio_video_calls_descr">Podpora bluetooth a další vylepšení.</string>
<string name="tap_to_activate_profile">Klepnutím aktivujete profil.</string> <string name="tap_to_activate_profile">Klepnutím aktivujete profil.</string>
<string name="v4_6_chinese_spanish_interface_descr">Díky uživatelům - překládejte prostřednictvím Weblate!</string> <string name="v4_6_chinese_spanish_interface_descr">Díky uživatelům - překládejte prostřednictvím Weblate!</string>
<string name="should_be_at_least_one_profile">Měl by tam být alespoň jeden uživatelský profil.</string>
<string name="button_welcome_message">Uvítací zpráva</string> <string name="button_welcome_message">Uvítací zpráva</string>
<string name="group_welcome_title">Uvítací zpráva</string> <string name="group_welcome_title">Uvítací zpráva</string>
<string name="user_unmute">Zrušit ztlumení</string> <string name="user_unmute">Zrušit ztlumení</string>
<string name="to_reveal_profile_enter_password">Chcete-li odhalit svůj skrytý profil, zadejte celé heslo do vyhledávacího pole na stránce Chat profily.</string> <string name="to_reveal_profile_enter_password">Chcete-li odhalit svůj skrytý profil, zadejte celé heslo do vyhledávacího pole na stránce Chat profily.</string>
<string name="should_be_at_least_one_visible_profile">Měl by tam být alespoň jeden viditelný uživatelský profil.</string>
<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_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="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="user_unhide">Odkrýt</string>

View File

@ -1041,7 +1041,6 @@
<string name="moderate_message_will_be_deleted_warning">Diese Nachricht wird für alle Gruppenmitglieder gelöscht.</string> <string name="moderate_message_will_be_deleted_warning">Diese Nachricht wird für alle Gruppenmitglieder gelöscht.</string>
<string name="language_system">System</string> <string name="language_system">System</string>
<string name="confirm_password">Passwort bestätigen</string> <string name="confirm_password">Passwort bestätigen</string>
<string name="cant_delete_user_profile">Das Benutzerprofil kann nicht gelöscht werden!</string>
<string name="dont_show_again">Nicht nochmals anzeigen</string> <string name="dont_show_again">Nicht nochmals anzeigen</string>
<string name="v4_6_chinese_spanish_interface">Chinesische und spanische Bedienoberfläche</string> <string name="v4_6_chinese_spanish_interface">Chinesische und spanische Bedienoberfläche</string>
<string name="v4_6_audio_video_calls">Audio- und Videoanrufe</string> <string name="v4_6_audio_video_calls">Audio- und Videoanrufe</string>
@ -1060,8 +1059,6 @@
<string name="make_profile_private">Privates Profil erzeugen!</string> <string name="make_profile_private">Privates Profil erzeugen!</string>
<string name="user_mute">Stummschalten</string> <string name="user_mute">Stummschalten</string>
<string name="tap_to_activate_profile">Zum Aktivieren des Profils tippen.</string> <string name="tap_to_activate_profile">Zum Aktivieren des Profils tippen.</string>
<string name="should_be_at_least_one_profile">Es muss mindestens ein Benutzer-Profil vorhanden sein.</string>
<string name="should_be_at_least_one_visible_profile">Es muss mindestens ein sichtbares Benutzer-Profil vorhanden sein.</string>
<string name="user_unmute">Stummschaltung aufheben</string> <string name="user_unmute">Stummschaltung aufheben</string>
<string name="muted_when_inactive">Bei Inaktivität stummgeschaltet!</string> <string name="muted_when_inactive">Bei Inaktivität stummgeschaltet!</string>
<string name="v4_6_hidden_chat_profiles_descr">Schützen Sie Ihre Chat-Profile mit einem Passwort!</string> <string name="v4_6_hidden_chat_profiles_descr">Schützen Sie Ihre Chat-Profile mit einem Passwort!</string>

View File

@ -967,17 +967,14 @@
<string name="error_saving_user_password">Error al guardar contraseña de usuario</string> <string name="error_saving_user_password">Error al guardar contraseña de usuario</string>
<string name="relay_server_if_necessary">El retransmisor sólo se usa en caso de necesidad. Un tercero podría ver tu IP.</string> <string name="relay_server_if_necessary">El retransmisor sólo se usa en caso de necesidad. Un tercero podría ver tu IP.</string>
<string name="relay_server_protects_ip">El servidor de retransmisión protege tu IP pero puede ver la duración de la llamada.</string> <string name="relay_server_protects_ip">El servidor de retransmisión protege tu IP pero puede ver la duración de la llamada.</string>
<string name="cant_delete_user_profile">¡No se puede eliminar el perfil!</string>
<string name="enter_password_to_show">Introduce la contraseña</string> <string name="enter_password_to_show">Introduce la contraseña</string>
<string name="user_hide">Ocultar</string> <string name="user_hide">Ocultar</string>
<string name="user_mute">Silenciar</string> <string name="user_mute">Silenciar</string>
<string name="save_and_update_group_profile">Guardar y actualizar perfil del grupo</string> <string name="save_and_update_group_profile">Guardar y actualizar perfil del grupo</string>
<string name="tap_to_activate_profile">Pulsa sobre un perfil para activarlo.</string> <string name="tap_to_activate_profile">Pulsa sobre un perfil para activarlo.</string>
<string name="should_be_at_least_one_visible_profile">Debe haber al menos un perfil de usuario visible.</string>
<string name="user_unhide">Mostrar</string> <string name="user_unhide">Mostrar</string>
<string name="button_welcome_message">Mensaje de bienvenida</string> <string name="button_welcome_message">Mensaje de bienvenida</string>
<string name="group_welcome_title">Mensaje de bienvenida</string> <string name="group_welcome_title">Mensaje de bienvenida</string>
<string name="should_be_at_least_one_profile">Debe haber al menos un perfil de usuario.</string>
<string name="make_profile_private">¡Hacer perfil privado!</string> <string name="make_profile_private">¡Hacer perfil privado!</string>
<string name="dont_show_again">No mostrar de nuevo</string> <string name="dont_show_again">No mostrar de nuevo</string>
<string name="muted_when_inactive">¡Silenciado cuando está inactivo!</string> <string name="muted_when_inactive">¡Silenciado cuando está inactivo!</string>

View File

@ -335,7 +335,6 @@
<string name="share_text_disappears_at">Katoaa klo: %s</string> <string name="share_text_disappears_at">Katoaa klo: %s</string>
<string name="create_secret_group_title">Luo salainen ryhmä</string> <string name="create_secret_group_title">Luo salainen ryhmä</string>
<string name="chat_preferences_always">aina</string> <string name="chat_preferences_always">aina</string>
<string name="cant_delete_user_profile">Käyttäjäprofiilia ei voi poistaa!</string>
<string name="allow_your_contacts_to_call">Salli kontaktiesi soittaa sinulle.</string> <string name="allow_your_contacts_to_call">Salli kontaktiesi soittaa sinulle.</string>
<string name="allow_your_contacts_irreversibly_delete">Salli kontaktiesi poistaa lähetetyt viestit peruuttamattomasti.</string> <string name="allow_your_contacts_irreversibly_delete">Salli kontaktiesi poistaa lähetetyt viestit peruuttamattomasti.</string>
<string name="allow_your_contacts_to_send_voice_messages">Salli kontaktiesi lähettää ääniviestejä.</string> <string name="allow_your_contacts_to_send_voice_messages">Salli kontaktiesi lähettää ääniviestejä.</string>
@ -1238,8 +1237,6 @@
<string name="snd_conn_event_switch_queue_phase_completed_for_member">muutit osoitteeksi %s</string> <string name="snd_conn_event_switch_queue_phase_completed_for_member">muutit osoitteeksi %s</string>
<string name="invite_prohibited_description">Yrität kutsua kontaktia, jonka kanssa olet jakanut inkognito-profiilin, ryhmään, jossa käytät pääprofiiliasi</string> <string name="invite_prohibited_description">Yrität kutsua kontaktia, jonka kanssa olet jakanut inkognito-profiilin, ryhmään, jossa käytät pääprofiiliasi</string>
<string name="group_welcome_title">Tervetuloviesti</string> <string name="group_welcome_title">Tervetuloviesti</string>
<string name="should_be_at_least_one_profile">Käyttäjäprofiileja tulee olla vähintään yksi.</string>
<string name="should_be_at_least_one_visible_profile">Näkyviä käyttäjäprofiileja tulee olla vähintään yksi.</string>
<string name="incognito_info_share">Kun jaat inkognitoprofiilin jonkun kanssa, tätä profiilia käytetään ryhmissä, joihin tämä sinut kutsuu.</string> <string name="incognito_info_share">Kun jaat inkognitoprofiilin jonkun kanssa, tätä profiilia käytetään ryhmissä, joihin tämä sinut kutsuu.</string>
<string name="group_main_profile_sent">Keskusteluprofiilisi lähetetään ryhmän jäsenille</string> <string name="group_main_profile_sent">Keskusteluprofiilisi lähetetään ryhmän jäsenille</string>
<string name="incognito_random_profile">Satunnainen profiilisi</string> <string name="incognito_random_profile">Satunnainen profiilisi</string>

View File

@ -962,7 +962,6 @@
<string name="smp_save_servers_question">Enregistrer les serveurs?</string> <string name="smp_save_servers_question">Enregistrer les serveurs?</string>
<string name="dont_show_again">Ne plus afficher</string> <string name="dont_show_again">Ne plus afficher</string>
<string name="button_add_welcome_message">Ajouter un message d\'accueil</string> <string name="button_add_welcome_message">Ajouter un message d\'accueil</string>
<string name="cant_delete_user_profile">Impossible de supprimer le profil d\'utilisateur !</string>
<string name="v4_6_group_moderation">Modération de groupe</string> <string name="v4_6_group_moderation">Modération de groupe</string>
<string name="user_hide">Cacher</string> <string name="user_hide">Cacher</string>
<string name="muted_when_inactive">Mute en cas d\'inactivité !</string> <string name="muted_when_inactive">Mute en cas d\'inactivité !</string>
@ -993,8 +992,6 @@
<string name="to_reveal_profile_enter_password">Pour révéler votre profil caché, entrez le mot de passe dans le champ de recherche de la page Profils de chat.</string> <string name="to_reveal_profile_enter_password">Pour révéler votre profil caché, entrez le mot de passe dans le champ de recherche de la page Profils de chat.</string>
<string name="v4_6_audio_video_calls_descr">Prise en charge du Bluetooth et autres améliorations.</string> <string name="v4_6_audio_video_calls_descr">Prise en charge du Bluetooth et autres améliorations.</string>
<string name="v4_6_chinese_spanish_interface_descr">Merci aux utilisateurs - contribuez via Weblate !</string> <string name="v4_6_chinese_spanish_interface_descr">Merci aux utilisateurs - contribuez via Weblate !</string>
<string name="should_be_at_least_one_profile">Il doit y avoir au moins un profil d\'utilisateur.</string>
<string name="should_be_at_least_one_visible_profile">Il doit y avoir au moins un profil d\'utilisateur visible.</string>
<string name="user_unhide">Dévoiler</string> <string name="user_unhide">Dévoiler</string>
<string name="user_unmute">Démute</string> <string name="user_unmute">Démute</string>
<string name="button_welcome_message">Message d\'accueil</string> <string name="button_welcome_message">Message d\'accueil</string>

View File

@ -45,7 +45,6 @@
<string name="both_you_and_your_contact_can_send_disappearing">Mindketten, te is és az ismerősöd is küldhet eltűnő üzeneteket.</string> <string name="both_you_and_your_contact_can_send_disappearing">Mindketten, te is és az ismerősöd is küldhet eltűnő üzeneteket.</string>
<string name="keychain_is_storing_securely">Az Android Keystore-t a jelmondat biztonságos tárolására használják - lehetővé teszi az értesítési szolgáltatás működését.</string> <string name="keychain_is_storing_securely">Az Android Keystore-t a jelmondat biztonságos tárolására használják - lehetővé teszi az értesítési szolgáltatás működését.</string>
<string name="alert_title_msg_bad_hash">Téves üzenet hash</string> <string name="alert_title_msg_bad_hash">Téves üzenet hash</string>
<string name="cant_delete_user_profile">Felhasználói profil törlése nem lehetséges!</string>
<string name="color_background">Háttér</string> <string name="color_background">Háttér</string>
<string name="socks_proxy_setting_limitations"><![CDATA[<b>Tudnivaló</b>: az üzenet- és fájl relay szerverek SOCKS proxy által vannak kapcsolatban. A hívások és URL link előnézetek közvetlen kapcsolatot használnak.]]></string> <string name="socks_proxy_setting_limitations"><![CDATA[<b>Tudnivaló</b>: az üzenet- és fájl relay szerverek SOCKS proxy által vannak kapcsolatban. A hívások és URL link előnézetek közvetlen kapcsolatot használnak.]]></string>
<string name="full_backup">App adatmentés</string> <string name="full_backup">App adatmentés</string>
@ -1493,7 +1492,6 @@
<string name="the_messaging_and_app_platform_protecting_your_privacy_and_security">A Te adatvédelmedet és biztonságodat védő üzenetküldő és alkalmazásplatform.</string> <string name="the_messaging_and_app_platform_protecting_your_privacy_and_security">A Te adatvédelmedet és biztonságodat védő üzenetküldő és alkalmazásplatform.</string>
<string name="tap_to_activate_profile">Érintsd meg a profil aktiválásához.</string> <string name="tap_to_activate_profile">Érintsd meg a profil aktiválásához.</string>
<string name="receipts_contacts_override_disabled">A kézbesítési jelentés le van tiltva %d ismerősödnél</string> <string name="receipts_contacts_override_disabled">A kézbesítési jelentés le van tiltva %d ismerősödnél</string>
<string name="should_be_at_least_one_profile">Legalább egy felhasználói profilnak kell lennie.</string>
<string name="session_code">Munkamenet kód</string> <string name="session_code">Munkamenet kód</string>
<string name="v4_4_french_interface_descr">Köszönet a felhasználóknak - hozzájárulás a Weblaten!</string> <string name="v4_4_french_interface_descr">Köszönet a felhasználóknak - hozzájárulás a Weblaten!</string>
<string name="receipts_section_groups">Kis csoportok (max. 20 tag)</string> <string name="receipts_section_groups">Kis csoportok (max. 20 tag)</string>
@ -1510,7 +1508,6 @@
<string name="receiving_via">Fogadás a</string> <string name="receiving_via">Fogadás a</string>
<string name="store_passphrase_securely_without_recover">Kérjük, hogy a jelmondatot biztonságosan tárold, ha elveszíted, NEM fogsz tudni hozzáférni a chathez.</string> <string name="store_passphrase_securely_without_recover">Kérjük, hogy a jelmondatot biztonságosan tárold, ha elveszíted, NEM fogsz tudni hozzáférni a chathez.</string>
<string name="member_role_will_be_changed_with_invitation">A szerepkör \"%s\"-re fog változni. A tag új meghívót kap.</string> <string name="member_role_will_be_changed_with_invitation">A szerepkör \"%s\"-re fog változni. A tag új meghívót kap.</string>
<string name="should_be_at_least_one_visible_profile">Legalább egy látható felhasználói profilnak kell lennie.</string>
<string name="icon_descr_profile_image_placeholder">profilkép helyőrző</string> <string name="icon_descr_profile_image_placeholder">profilkép helyőrző</string>
<string name="sync_connection_force_desc">A titkosítás működik, és új titkosítási egyezményre nincs szükség. Ez kapcsolati hibákat eredményezhet!</string> <string name="sync_connection_force_desc">A titkosítás működik, és új titkosítási egyezményre nincs szükség. Ez kapcsolati hibákat eredményezhet!</string>
<string name="delete_chat_profile_action_cannot_be_undone_warning">Ez a művelet nem vonható vissza - profilod, ismerőseid, üzeneteid és fájljaid visszafordíthatatlanul törlésre kerülnek.</string> <string name="delete_chat_profile_action_cannot_be_undone_warning">Ez a művelet nem vonható vissza - profilod, ismerőseid, üzeneteid és fájljaid visszafordíthatatlanul törlésre kerülnek.</string>

View File

@ -969,8 +969,6 @@
<string name="tap_to_activate_profile">Tocca per attivare il profilo.</string> <string name="tap_to_activate_profile">Tocca per attivare il profilo.</string>
<string name="user_unhide">Svela</string> <string name="user_unhide">Svela</string>
<string name="make_profile_private">Rendi privato il profilo!</string> <string name="make_profile_private">Rendi privato il profilo!</string>
<string name="should_be_at_least_one_profile">Deve esserci almeno un profilo utente.</string>
<string name="should_be_at_least_one_visible_profile">Deve esserci almeno un profilo utente visibile.</string>
<string name="you_can_hide_or_mute_user_profile">Puoi nascondere o silenziare un profilo utente - tienilo premuto per il menu.</string> <string name="you_can_hide_or_mute_user_profile">Puoi nascondere o silenziare un profilo utente - tienilo premuto per il menu.</string>
<string name="dont_show_again">Non mostrare più</string> <string name="dont_show_again">Non mostrare più</string>
<string name="muted_when_inactive">Silenzioso quando inattivo!</string> <string name="muted_when_inactive">Silenzioso quando inattivo!</string>
@ -990,7 +988,6 @@
<string name="v4_6_group_moderation_descr">Ora gli amministratori possono: <string name="v4_6_group_moderation_descr">Ora gli amministratori possono:
\n- eliminare i messaggi dei membri. \n- eliminare i messaggi dei membri.
\n- disattivare i membri (ruolo \"osservatore\")</string> \n- disattivare i membri (ruolo \"osservatore\")</string>
<string name="cant_delete_user_profile">Impossibile eliminare il profilo utente!</string>
<string name="hide_profile">Nascondi il profilo</string> <string name="hide_profile">Nascondi il profilo</string>
<string name="confirm_password">Conferma password</string> <string name="confirm_password">Conferma password</string>
<string name="error_updating_user_privacy">Errore nell\'aggiornamento della privacy dell\'utente</string> <string name="error_updating_user_privacy">Errore nell\'aggiornamento della privacy dell\'utente</string>

View File

@ -112,7 +112,6 @@
<string name="icon_descr_call_progress">שיחה מתמשכת</string> <string name="icon_descr_call_progress">שיחה מתמשכת</string>
<string name="settings_section_title_calls">שיחות</string> <string name="settings_section_title_calls">שיחות</string>
<string name="cannot_access_keychain">לא ניתן לגשת ל־Keystore כדי לאחסן את סיסמת מסד הנתונים</string> <string name="cannot_access_keychain">לא ניתן לגשת ל־Keystore כדי לאחסן את סיסמת מסד הנתונים</string>
<string name="cant_delete_user_profile">לא ניתן למחוק פרופיל משתמש!</string>
<string name="feature_cancelled_item">בוטל %s</string> <string name="feature_cancelled_item">בוטל %s</string>
<string name="v4_5_transport_isolation_descr">לפי פרופיל צ׳אט (ברירת מחדל) או לפי חיבור (בביטא).</string> <string name="v4_5_transport_isolation_descr">לפי פרופיל צ׳אט (ברירת מחדל) או לפי חיבור (בביטא).</string>
<string name="callstatus_calling">מתקשר…</string> <string name="callstatus_calling">מתקשר…</string>
@ -1055,8 +1054,6 @@
<string name="messages_section_description">הגדרה זו חלה על הודעות בפרופיל הצ׳אט הנוכחי שלך</string> <string name="messages_section_description">הגדרה זו חלה על הודעות בפרופיל הצ׳אט הנוכחי שלך</string>
<string name="database_backup_can_be_restored">הניסיון לשנות את סיסמת מסד הנתונים לא הושלם.</string> <string name="database_backup_can_be_restored">הניסיון לשנות את סיסמת מסד הנתונים לא הושלם.</string>
<string name="color_title">כותרת</string> <string name="color_title">כותרת</string>
<string name="should_be_at_least_one_profile">נדרש לפחות פרופיל משתמש אחד.</string>
<string name="should_be_at_least_one_visible_profile">נדרש לפחות פרופיל משתמש אחד גלוי.</string>
<string name="group_is_decentralized">הקבוצה מבוזרת לחלוטין - היא גלויה רק לחברי הקבוצה.</string> <string name="group_is_decentralized">הקבוצה מבוזרת לחלוטין - היא גלויה רק לחברי הקבוצה.</string>
<string name="to_protect_privacy_simplex_has_ids_for_queues">כדי לשמור על הפרטיות, במקום מזהי משתמש הקיימים בכל הפלטפורמות האחרות, ל־SimpleX יש מזהים לתורי הודעות, נפרדים עבור כל אחד מאנשי הקשר שלך.</string> <string name="to_protect_privacy_simplex_has_ids_for_queues">כדי לשמור על הפרטיות, במקום מזהי משתמש הקיימים בכל הפלטפורמות האחרות, ל־SimpleX יש מזהים לתורי הודעות, נפרדים עבור כל אחד מאנשי הקשר שלך.</string>
<string name="using_simplex_chat_servers">משתמש בשרתי SimpleX Chatז</string> <string name="using_simplex_chat_servers">משתמש בשרתי SimpleX Chatז</string>

View File

@ -944,7 +944,6 @@
<string name="la_lock_mode_passcode">パスコード入力</string> <string name="la_lock_mode_passcode">パスコード入力</string>
<string name="la_auth_failed">認証失敗</string> <string name="la_auth_failed">認証失敗</string>
<string name="la_enter_app_passcode">パスコードを入力</string> <string name="la_enter_app_passcode">パスコードを入力</string>
<string name="cant_delete_user_profile">ユーザープロフィールが削除できません。</string>
<string name="la_mode_system">システム</string> <string name="la_mode_system">システム</string>
<string name="change_lock_mode">ロックモードを変更</string> <string name="change_lock_mode">ロックモードを変更</string>
<string name="v4_6_chinese_spanish_interface">中国語とスペイン語UI</string> <string name="v4_6_chinese_spanish_interface">中国語とスペイン語UI</string>
@ -1113,8 +1112,6 @@
<string name="v5_0_large_files_support_descr">送信者がオンラインになるまでの待ち時間がなく、速い!</string> <string name="v5_0_large_files_support_descr">送信者がオンラインになるまでの待ち時間がなく、速い!</string>
<string name="v5_0_app_passcode">アプリのパスコード</string> <string name="v5_0_app_passcode">アプリのパスコード</string>
<string name="v5_0_app_passcode_descr">システム認証の代わりに設定します。</string> <string name="v5_0_app_passcode_descr">システム認証の代わりに設定します。</string>
<string name="should_be_at_least_one_visible_profile">少なくとも1つのユーザープロフィールが表示されている必要があります。</string>
<string name="should_be_at_least_one_profile">少なくとも1つのユーザープロファイルが必要です。</string>
<string name="make_profile_private">プロフィールを非表示にできます!</string> <string name="make_profile_private">プロフィールを非表示にできます!</string>
<string name="relay_server_protects_ip">リレー サーバーは IP アドレスを保護しますが、通話時間は監視されます。</string> <string name="relay_server_protects_ip">リレー サーバーは IP アドレスを保護しますが、通話時間は監視されます。</string>
<string name="share_address_with_contacts_question">アドレスを連絡先と共有しますか\?</string> <string name="share_address_with_contacts_question">アドレスを連絡先と共有しますか\?</string>

View File

@ -111,7 +111,6 @@
<string name="change_member_role_question">그룹 역할을 바꾸시겠습니까\?</string> <string name="change_member_role_question">그룹 역할을 바꾸시겠습니까\?</string>
<string name="info_row_connection">연결</string> <string name="info_row_connection">연결</string>
<string name="users_add">프로필 추가</string> <string name="users_add">프로필 추가</string>
<string name="cant_delete_user_profile">사용자 프로필을 삭제할 수 없습니다!</string>
<string name="chat_preferences_always">항상</string> <string name="chat_preferences_always">항상</string>
<string name="chat_preferences_contact_allows">대화 상대가 허용함</string> <string name="chat_preferences_contact_allows">대화 상대가 허용함</string>
<string name="contact_preferences">연락처 개별 설정</string> <string name="contact_preferences">연락처 개별 설정</string>
@ -826,12 +825,10 @@
<string name="stop_chat_confirmation">멈추기</string> <string name="stop_chat_confirmation">멈추기</string>
<string name="snd_group_event_changed_member_role">%s의 역할을 %s로 변경했어요.</string> <string name="snd_group_event_changed_member_role">%s의 역할을 %s로 변경했어요.</string>
<string name="section_title_for_console">콘솔용</string> <string name="section_title_for_console">콘솔용</string>
<string name="should_be_at_least_one_visible_profile">적어도 하나의 숨겨지지 않은 사용자 프로필이 있어야 해요.</string>
<string name="set_group_preferences">그룹 설정 지정하기</string> <string name="set_group_preferences">그룹 설정 지정하기</string>
<string name="snd_conn_event_switch_queue_phase_completed_for_member">%s의 주소를 바꿨어요</string> <string name="snd_conn_event_switch_queue_phase_completed_for_member">%s의 주소를 바꿨어요</string>
<string name="snd_conn_event_switch_queue_phase_completed">주소를 바꿨어요</string> <string name="snd_conn_event_switch_queue_phase_completed">주소를 바꿨어요</string>
<string name="snd_group_event_group_profile_updated">그룹 프로필 업데이트됨</string> <string name="snd_group_event_group_profile_updated">그룹 프로필 업데이트됨</string>
<string name="should_be_at_least_one_profile">적어도 하나의 사용자 프로필이 있어야 해요.</string>
<string name="smp_servers_test_server">서버 테스트하기</string> <string name="smp_servers_test_server">서버 테스트하기</string>
<string name="smp_servers_use_server">서버 사용하기</string> <string name="smp_servers_use_server">서버 사용하기</string>
<string name="smp_servers_use_server_for_new_conn">새로운 대화에 사용</string> <string name="smp_servers_use_server_for_new_conn">새로운 대화에 사용</string>

View File

@ -447,8 +447,6 @@
<string name="group_members_can_send_dms">Grupės nariai gali siųsti tiesiogines žinutes.</string> <string name="group_members_can_send_dms">Grupės nariai gali siųsti tiesiogines žinutes.</string>
<string name="group_members_can_send_disappearing">Grupės nariai gali siųsti išnykstančias žinutes.</string> <string name="group_members_can_send_disappearing">Grupės nariai gali siųsti išnykstančias žinutes.</string>
<string name="v4_3_improved_privacy_and_security_desc">Slėpti programėlės ekraną paskiausių programėlių sąraše.</string> <string name="v4_3_improved_privacy_and_security_desc">Slėpti programėlės ekraną paskiausių programėlių sąraše.</string>
<string name="should_be_at_least_one_profile">Turėtų būti bent vienas naudotojo profilis.</string>
<string name="should_be_at_least_one_visible_profile">Turėtų būti matomas bent vienas naudotojo profilis.</string>
<string name="chat_preferences_contact_allows">Adresatas leidžia</string> <string name="chat_preferences_contact_allows">Adresatas leidžia</string>
<string name="voice_prohibited_in_this_chat">Balso žinutės šiame pokalbyje yra uždraustos.</string> <string name="voice_prohibited_in_this_chat">Balso žinutės šiame pokalbyje yra uždraustos.</string>
<string name="v4_4_disappearing_messages_desc">Išsiųstos žinutės bus ištrintos po nustatyto laiko.</string> <string name="v4_4_disappearing_messages_desc">Išsiųstos žinutės bus ištrintos po nustatyto laiko.</string>
@ -469,7 +467,6 @@
<string name="join_group_button">Prisijungti</string> <string name="join_group_button">Prisijungti</string>
<string name="change_verb">Keisti</string> <string name="change_verb">Keisti</string>
<string name="conn_stats_section_title_servers">SERVERIAI</string> <string name="conn_stats_section_title_servers">SERVERIAI</string>
<string name="cant_delete_user_profile">Nepavyksta ištrinti naudotojo profilio!</string>
<string name="clear_chat_menu_action">Išvalyti</string> <string name="clear_chat_menu_action">Išvalyti</string>
<string name="unhide_profile">Nebeslėpti profilio</string> <string name="unhide_profile">Nebeslėpti profilio</string>
<string name="videos_limit_title">Per daug vaizdo įrašų!</string> <string name="videos_limit_title">Per daug vaizdo įrašų!</string>

View File

@ -958,7 +958,6 @@
<string name="you_are_observer">jij bent waarnemer</string> <string name="you_are_observer">jij bent waarnemer</string>
<string name="language_system">Systeem</string> <string name="language_system">Systeem</string>
<string name="v4_6_audio_video_calls">Audio en video oproepen</string> <string name="v4_6_audio_video_calls">Audio en video oproepen</string>
<string name="cant_delete_user_profile">Kan gebruikers profiel niet verwijderen!</string>
<string name="confirm_password">Bevestig wachtwoord</string> <string name="confirm_password">Bevestig wachtwoord</string>
<string name="v4_6_chinese_spanish_interface">Chinese en Spaanse interface</string> <string name="v4_6_chinese_spanish_interface">Chinese en Spaanse interface</string>
<string name="enter_password_to_show">Voer wachtwoord in bij zoeken</string> <string name="enter_password_to_show">Voer wachtwoord in bij zoeken</string>
@ -990,12 +989,10 @@
<string name="v4_6_audio_video_calls_descr">Ondersteuning voor bluetooth en andere verbeteringen.</string> <string name="v4_6_audio_video_calls_descr">Ondersteuning voor bluetooth en andere verbeteringen.</string>
<string name="tap_to_activate_profile">Tik om profiel te activeren.</string> <string name="tap_to_activate_profile">Tik om profiel te activeren.</string>
<string name="v4_6_chinese_spanish_interface_descr">Dank aan de gebruikers draag bij via Weblate!</string> <string name="v4_6_chinese_spanish_interface_descr">Dank aan de gebruikers draag bij via Weblate!</string>
<string name="should_be_at_least_one_profile">Er moet ten minste één gebruikers profiel zijn.</string>
<string name="you_can_hide_or_mute_user_profile">U kunt een gebruikers profiel verbergen of dempen - houd het vast voor het menu.</string> <string name="you_can_hide_or_mute_user_profile">U kunt een gebruikers profiel verbergen of dempen - houd het vast voor het menu.</string>
<string name="user_unhide">zichtbaar maken</string> <string name="user_unhide">zichtbaar maken</string>
<string name="user_unmute">Dempen opheffen</string> <string name="user_unmute">Dempen opheffen</string>
<string name="group_welcome_title">Welkomst bericht</string> <string name="group_welcome_title">Welkomst bericht</string>
<string name="should_be_at_least_one_visible_profile">"Er moet ten minste één zichtbaar gebruikers profiel zijn."</string>
<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="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="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="you_will_still_receive_calls_and_ntfs">U ontvangt nog steeds oproepen en meldingen van gedempte profielen wanneer deze actief zijn.</string>

View File

@ -743,7 +743,6 @@
<string name="group_is_decentralized">W pełni zdecentralizowana widoczna tylko dla członków.</string> <string name="group_is_decentralized">W pełni zdecentralizowana widoczna tylko dla członków.</string>
<string name="member_role_will_be_changed_with_invitation">Rola zostanie zmieniona na \"%s\". Członek otrzyma nowe zaproszenie.</string> <string name="member_role_will_be_changed_with_invitation">Rola zostanie zmieniona na \"%s\". Członek otrzyma nowe zaproszenie.</string>
<string name="group_welcome_title">Wiadomość powitalna</string> <string name="group_welcome_title">Wiadomość powitalna</string>
<string name="cant_delete_user_profile">Nie można usunąć profilu użytkownika!</string>
<string name="users_delete_question">Usunąć profil czatu\?</string> <string name="users_delete_question">Usunąć profil czatu\?</string>
<string name="users_delete_profile_for">Usuń profil czatu dla</string> <string name="users_delete_profile_for">Usuń profil czatu dla</string>
<string name="dont_show_again">Nie pokazuj ponownie</string> <string name="dont_show_again">Nie pokazuj ponownie</string>
@ -997,9 +996,7 @@
<string name="simplex_link_contact">Adres kontaktowy SimpleX</string> <string name="simplex_link_contact">Adres kontaktowy SimpleX</string>
<string name="stop_chat_to_export_import_or_delete_chat_database">Zatrzymaj czat, aby wyeksportować, zaimportować lub usunąć bazę danych czatu. Podczas zatrzymania chatu nie będzie można odbierać ani wysyłać wiadomości.</string> <string name="stop_chat_to_export_import_or_delete_chat_database">Zatrzymaj czat, aby wyeksportować, zaimportować lub usunąć bazę danych czatu. Podczas zatrzymania chatu nie będzie można odbierać ani wysyłać wiadomości.</string>
<string name="smp_servers_test_some_failed">Niektóre serwery nie przeszły testu:</string> <string name="smp_servers_test_some_failed">Niektóre serwery nie przeszły testu:</string>
<string name="should_be_at_least_one_profile">Powinien istnieć co najmniej jeden profil użytkownika.</string>
<string name="thank_you_for_installing_simplex">Dziękujemy za zainstalowanie SimpleX Chat!</string> <string name="thank_you_for_installing_simplex">Dziękujemy za zainstalowanie SimpleX Chat!</string>
<string name="should_be_at_least_one_visible_profile">Powinien istnieć co najmniej jeden widoczny profil użytkownika.</string>
<string name="moderate_message_will_be_marked_warning">Wiadomość zostanie oznaczona jako moderowana dla wszystkich członków.</string> <string name="moderate_message_will_be_marked_warning">Wiadomość zostanie oznaczona jako moderowana dla wszystkich członków.</string>
<string name="member_role_will_be_changed_with_notification">Rola zostanie zmieniona na \"%s\". Wszyscy w grupie zostaną powiadomieni.</string> <string name="member_role_will_be_changed_with_notification">Rola zostanie zmieniona na \"%s\". Wszyscy w grupie zostaną powiadomieni.</string>
<string name="delete_files_and_media_desc">Tego działania nie można cofnąć - wszystkie odebrane i wysłane pliki oraz media zostaną usunięte. Obrazy o niskiej rozdzielczości pozostaną.</string> <string name="delete_files_and_media_desc">Tego działania nie można cofnąć - wszystkie odebrane i wysłane pliki oraz media zostaną usunięte. Obrazy o niskiej rozdzielczości pozostaną.</string>

View File

@ -706,7 +706,6 @@
<string name="no_contacts_to_add">Sem contatos para adicionar</string> <string name="no_contacts_to_add">Sem contatos para adicionar</string>
<string name="member_role_will_be_changed_with_notification">A função será alterada para \"%s\". Todos no grupo serão notificados.</string> <string name="member_role_will_be_changed_with_notification">A função será alterada para \"%s\". Todos no grupo serão notificados.</string>
<string name="user_mute">Mutar</string> <string name="user_mute">Mutar</string>
<string name="should_be_at_least_one_visible_profile">Deve haver pelo menos um perfil de usuário visível.</string>
<string name="only_you_can_send_voice">Somente você pode enviar mensagens de voz.</string> <string name="only_you_can_send_voice">Somente você pode enviar mensagens de voz.</string>
<string name="only_your_contact_can_send_voice">Somente seu contato pode enviar mensagens de voz.</string> <string name="only_your_contact_can_send_voice">Somente seu contato pode enviar mensagens de voz.</string>
<string name="prohibit_message_deletion">Proibir a exclusão irreversível de mensagens.</string> <string name="prohibit_message_deletion">Proibir a exclusão irreversível de mensagens.</string>
@ -739,9 +738,7 @@
<string name="incompatible_database_version">Versão do banco de dados incompatível</string> <string name="incompatible_database_version">Versão do banco de dados incompatível</string>
<string name="button_remove_member">Remover membro</string> <string name="button_remove_member">Remover membro</string>
<string name="group_main_profile_sent">Seu perfil de chat será enviado aos membros do grupo</string> <string name="group_main_profile_sent">Seu perfil de chat será enviado aos membros do grupo</string>
<string name="cant_delete_user_profile">Não é possível excluir o perfil do usuário!</string>
<string name="make_profile_private">Torne o perfil privado!</string> <string name="make_profile_private">Torne o perfil privado!</string>
<string name="should_be_at_least_one_profile">Deve haver pelo menos um perfil de usuário.</string>
<string name="v4_2_security_assessment">Avaliação de segurança</string> <string name="v4_2_security_assessment">Avaliação de segurança</string>
<string name="v4_5_multiple_chat_profiles_descr">Nomes diferentes, avatares e isolamento de transporte.</string> <string name="v4_5_multiple_chat_profiles_descr">Nomes diferentes, avatares e isolamento de transporte.</string>
<string name="v4_2_auto_accept_contact_requests_desc">Com mensagem de boas-vindas opcional.</string> <string name="v4_2_auto_accept_contact_requests_desc">Com mensagem de boas-vindas opcional.</string>

View File

@ -239,7 +239,6 @@
<string name="call_on_lock_screen">Chamadas no ecrã de bloqueio:</string> <string name="call_on_lock_screen">Chamadas no ecrã de bloqueio:</string>
<string name="alert_title_cant_invite_contacts">Não é possível convidar contatos!</string> <string name="alert_title_cant_invite_contacts">Não é possível convidar contatos!</string>
<string name="change_verb">Alterar</string> <string name="change_verb">Alterar</string>
<string name="cant_delete_user_profile">Não é possível eliminar o perfil do utilizador!</string>
<string name="feature_cancelled_item">cancelado %s</string> <string name="feature_cancelled_item">cancelado %s</string>
<string name="cannot_receive_file">Não é possível receber o ficheiro</string> <string name="cannot_receive_file">Não é possível receber o ficheiro</string>
<string name="icon_descr_cancel_image_preview">Cancelar pré-visualização da imagem</string> <string name="icon_descr_cancel_image_preview">Cancelar pré-visualização da imagem</string>

View File

@ -1044,8 +1044,6 @@
<string name="v4_6_audio_video_calls">Аудио и видео звонки</string> <string name="v4_6_audio_video_calls">Аудио и видео звонки</string>
<string name="error_saving_user_password">Ошибка при сохранении пароля пользователя</string> <string name="error_saving_user_password">Ошибка при сохранении пароля пользователя</string>
<string name="smp_save_servers_question">Сохранить серверы\?</string> <string name="smp_save_servers_question">Сохранить серверы\?</string>
<string name="should_be_at_least_one_profile">Должен быть хотя бы один профиль пользователя.</string>
<string name="should_be_at_least_one_visible_profile">Должен быть хотя бы один открытый профиль пользователя.</string>
<string name="to_reveal_profile_enter_password">Чтобы показать Ваш скрытый профиль, введите пароль в поле поиска на странице Ваши профили.</string> <string name="to_reveal_profile_enter_password">Чтобы показать Ваш скрытый профиль, введите пароль в поле поиска на странице Ваши профили.</string>
<string name="user_unmute">Уведомлять</string> <string name="user_unmute">Уведомлять</string>
<string name="group_welcome_title">Приветственное сообщение</string> <string name="group_welcome_title">Приветственное сообщение</string>
@ -1054,7 +1052,6 @@
<string name="button_welcome_message">Приветственное сообщение</string> <string name="button_welcome_message">Приветственное сообщение</string>
<string name="save_and_update_group_profile">Сохранить сообщение и обновить группу</string> <string name="save_and_update_group_profile">Сохранить сообщение и обновить группу</string>
<string name="muted_when_inactive">Без звука, когда не активный!</string> <string name="muted_when_inactive">Без звука, когда не активный!</string>
<string name="cant_delete_user_profile">Нельзя удалить профиль пользователя!</string>
<string name="enter_password_to_show">Введите пароль в поиске!</string> <string name="enter_password_to_show">Введите пароль в поиске!</string>
<string name="save_profile_password">Сохранить пароль профиля</string> <string name="save_profile_password">Сохранить пароль профиля</string>
<string name="v4_6_chinese_spanish_interface">Китайский и Испанский интерфейс</string> <string name="v4_6_chinese_spanish_interface">Китайский и Испанский интерфейс</string>

View File

@ -142,7 +142,6 @@
<string name="change_member_role_question">เปลี่ยนบทบาทกลุ่ม\?</string> <string name="change_member_role_question">เปลี่ยนบทบาทกลุ่ม\?</string>
<string name="icon_descr_cancel_live_message">ยกเลิกข้อความสด</string> <string name="icon_descr_cancel_live_message">ยกเลิกข้อความสด</string>
<string name="feature_cancelled_item">ยกเลิกเรียบร้อยแล้ว %s</string> <string name="feature_cancelled_item">ยกเลิกเรียบร้อยแล้ว %s</string>
<string name="cant_delete_user_profile">ไม่สามารถลบโปรไฟล์ผู้ใช้ได้!</string>
<string name="alert_title_cant_invite_contacts">ไม่สามารถเชิญผู้ติดต่อได้!</string> <string name="alert_title_cant_invite_contacts">ไม่สามารถเชิญผู้ติดต่อได้!</string>
<string name="change_verb">เปลี่ยน</string> <string name="change_verb">เปลี่ยน</string>
<string name="change_database_passphrase_question">เปลี่ยนรหัสผ่านฐานข้อมูล\?</string> <string name="change_database_passphrase_question">เปลี่ยนรหัสผ่านฐานข้อมูล\?</string>
@ -1213,8 +1212,6 @@
<string name="updating_settings_will_reconnect_client_to_all_servers">การอัปเดตการตั้งค่าจะเชื่อมต่อไคลเอนต์กับเซิร์ฟเวอร์ทั้งหมดอีกครั้ง</string> <string name="updating_settings_will_reconnect_client_to_all_servers">การอัปเดตการตั้งค่าจะเชื่อมต่อไคลเอนต์กับเซิร์ฟเวอร์ทั้งหมดอีกครั้ง</string>
<string name="user_unhide">ยกเลิกการซ่อน</string> <string name="user_unhide">ยกเลิกการซ่อน</string>
<string name="user_unmute">เปิดเสียง</string> <string name="user_unmute">เปิดเสียง</string>
<string name="should_be_at_least_one_profile">ควรมีโปรไฟล์ผู้ใช้อย่างน้อยหนึ่งโปรไฟล์</string>
<string name="should_be_at_least_one_visible_profile">ควรมีอย่างน้อยหนึ่งโปรไฟล์ผู้ใช้ที่มองเห็นได้</string>
<string name="you_can_hide_or_mute_user_profile">คุณสามารถซ่อนหรือปิดเสียงโปรไฟล์ผู้ใช้ - กดค้างไว้เพื่อที่จะแสดงเมนู</string> <string name="you_can_hide_or_mute_user_profile">คุณสามารถซ่อนหรือปิดเสียงโปรไฟล์ผู้ใช้ - กดค้างไว้เพื่อที่จะแสดงเมนู</string>
<string name="unhide_profile">เลิกซ่อนโปรไฟล์</string> <string name="unhide_profile">เลิกซ่อนโปรไฟล์</string>
<string name="chat_preferences_you_allow">คุณอนุญาต</string> <string name="chat_preferences_you_allow">คุณอนุญาต</string>

View File

@ -114,8 +114,6 @@
<string name="save_group_profile">Grup profilini kaydet</string> <string name="save_group_profile">Grup profilini kaydet</string>
<string name="network_option_seconds_label">sn</string> <string name="network_option_seconds_label">sn</string>
<string name="network_options_save">Kaydet</string> <string name="network_options_save">Kaydet</string>
<string name="should_be_at_least_one_visible_profile">There should be at least one visible user profile.</string>
<string name="should_be_at_least_one_profile">En az bir kullanıcı profili olmalıdır.</string>
<string name="incognito_info_protects">Gizli mod her farklı kişi için yeni rasgele profil kullanarak gizliliğini korur.</string> <string name="incognito_info_protects">Gizli mod her farklı kişi için yeni rasgele profil kullanarak gizliliğini korur.</string>
<string name="theme_system">Sistem</string> <string name="theme_system">Sistem</string>
<string name="language_system">Sistem</string> <string name="language_system">Sistem</string>
@ -753,7 +751,6 @@
<string name="invite_to_group_button">Gruba davet edin</string> <string name="invite_to_group_button">Gruba davet edin</string>
<string name="invite_prohibited">Kişi davet edilemiyor!</string> <string name="invite_prohibited">Kişi davet edilemiyor!</string>
<string name="button_add_members">Üyeleri davet edin</string> <string name="button_add_members">Üyeleri davet edin</string>
<string name="cant_delete_user_profile">Kullanıcı profili silinemiyor!</string>
<string name="color_background">Arka plan</string> <string name="color_background">Arka plan</string>
<string name="message_deletion_prohibited">Bu sohbette geri alınamaz mesaj silme yasaktır.</string> <string name="message_deletion_prohibited">Bu sohbette geri alınamaz mesaj silme yasaktır.</string>
<string name="delete_contact_question">Kişiyi sil\?</string> <string name="delete_contact_question">Kişiyi sil\?</string>

View File

@ -517,7 +517,6 @@
<string name="role_in_group">Роль</string> <string name="role_in_group">Роль</string>
<string name="conn_level_desc_indirect">непряме (%1$s)</string> <string name="conn_level_desc_indirect">непряме (%1$s)</string>
<string name="user_unmute">Відглушити</string> <string name="user_unmute">Відглушити</string>
<string name="should_be_at_least_one_profile">Повинен бути принаймні один профіль користувача.</string>
<string name="make_profile_private">Зробіть профіль приватним!</string> <string name="make_profile_private">Зробіть профіль приватним!</string>
<string name="feature_offered_item">запропоновано %s</string> <string name="feature_offered_item">запропоновано %s</string>
<string name="v4_5_message_draft">Чернетка повідомлення</string> <string name="v4_5_message_draft">Чернетка повідомлення</string>
@ -900,7 +899,6 @@
<string name="delete_files_and_media_all">Видалити всі файли</string> <string name="delete_files_and_media_all">Видалити всі файли</string>
<string name="delete_messages_after">Видаляйте повідомлення після</string> <string name="delete_messages_after">Видаляйте повідомлення після</string>
<string name="enable_automatic_deletion_question">Увімкнути автоматичне видалення повідомлень\?</string> <string name="enable_automatic_deletion_question">Увімкнути автоматичне видалення повідомлень\?</string>
<string name="should_be_at_least_one_visible_profile">Повинен бути принаймні один видимий профіль користувача.</string>
<string name="v4_6_hidden_chat_profiles">Приховані профілі чату</string> <string name="v4_6_hidden_chat_profiles">Приховані профілі чату</string>
<string name="v4_6_group_welcome_message">Повідомлення вітання групи</string> <string name="v4_6_group_welcome_message">Повідомлення вітання групи</string>
<string name="v4_6_chinese_spanish_interface_descr">Дякуємо користувачам приєднуйтеся через Weblate!</string> <string name="v4_6_chinese_spanish_interface_descr">Дякуємо користувачам приєднуйтеся через Weblate!</string>
@ -933,7 +931,6 @@
<string name="icon_descr_group_inactive">Група неактивна</string> <string name="icon_descr_group_inactive">Група неактивна</string>
<string name="snd_group_event_member_deleted">ви видалили %1$s</string> <string name="snd_group_event_member_deleted">ви видалили %1$s</string>
<string name="tap_to_activate_profile">Торкніться для активації профілю.</string> <string name="tap_to_activate_profile">Торкніться для активації профілю.</string>
<string name="cant_delete_user_profile">Не вдається видалити профіль користувача!</string>
<string name="prohibit_sending_voice">Забороняйте надсилання голосових повідомлень.</string> <string name="prohibit_sending_voice">Забороняйте надсилання голосових повідомлень.</string>
<string name="group_members_can_send_disappearing">Учасники групи можуть надсилати самознищувальні повідомлення.</string> <string name="group_members_can_send_disappearing">Учасники групи можуть надсилати самознищувальні повідомлення.</string>
<string name="ttl_min">%d хв</string> <string name="ttl_min">%d хв</string>

View File

@ -978,7 +978,6 @@
<string name="v4_6_hidden_chat_profiles_descr">使用密码保护您的聊天资料!</string> <string name="v4_6_hidden_chat_profiles_descr">使用密码保护您的聊天资料!</string>
<string name="confirm_password">确认密码</string> <string name="confirm_password">确认密码</string>
<string name="error_updating_user_privacy">更新用户隐私错误</string> <string name="error_updating_user_privacy">更新用户隐私错误</string>
<string name="cant_delete_user_profile">无法删除用户资料!</string>
<string name="error_saving_user_password">保存用户密码错误</string> <string name="error_saving_user_password">保存用户密码错误</string>
<string name="enter_password_to_show">在搜索中输入密码</string> <string name="enter_password_to_show">在搜索中输入密码</string>
<string name="v4_6_group_welcome_message">群组欢迎消息</string> <string name="v4_6_group_welcome_message">群组欢迎消息</string>
@ -990,12 +989,10 @@
<string name="to_reveal_profile_enter_password">要显示您的隐藏的个人资料,请在您的聊天个人资料页面的搜索字段中输入完整密码。</string> <string name="to_reveal_profile_enter_password">要显示您的隐藏的个人资料,请在您的聊天个人资料页面的搜索字段中输入完整密码。</string>
<string name="save_welcome_message_question">保存欢迎信息?</string> <string name="save_welcome_message_question">保存欢迎信息?</string>
<string name="tap_to_activate_profile">点击以激活个人资料。</string> <string name="tap_to_activate_profile">点击以激活个人资料。</string>
<string name="should_be_at_least_one_profile">应该至少有一个用户资料。</string>
<string name="user_unhide">取消隐藏</string> <string name="user_unhide">取消隐藏</string>
<string name="v4_6_group_welcome_message_descr">设置向新成员显示的消息!</string> <string name="v4_6_group_welcome_message_descr">设置向新成员显示的消息!</string>
<string name="v4_6_audio_video_calls_descr">支持蓝牙和其他改进。</string> <string name="v4_6_audio_video_calls_descr">支持蓝牙和其他改进。</string>
<string name="v4_6_chinese_spanish_interface_descr">感谢用户——通过 Weblate 做出贡献!</string> <string name="v4_6_chinese_spanish_interface_descr">感谢用户——通过 Weblate 做出贡献!</string>
<string name="should_be_at_least_one_visible_profile">应该至少有一个可见的用户资料。</string>
<string name="user_unmute">解除静音</string> <string name="user_unmute">解除静音</string>
<string name="button_welcome_message">欢迎消息</string> <string name="button_welcome_message">欢迎消息</string>
<string name="you_will_still_receive_calls_and_ntfs">当静音配置文件处于活动状态时,您仍会收到来自静音配置文件的电话和通知。</string> <string name="you_will_still_receive_calls_and_ntfs">当静音配置文件处于活动状态时,您仍会收到来自静音配置文件的电话和通知。</string>

View File

@ -965,7 +965,6 @@
<string name="button_welcome_message">歡迎訊息</string> <string name="button_welcome_message">歡迎訊息</string>
<string name="save_and_update_group_profile">儲存和更新群組配置檔案</string> <string name="save_and_update_group_profile">儲存和更新群組配置檔案</string>
<string name="save_welcome_message_question">儲存歡迎訊息?</string> <string name="save_welcome_message_question">儲存歡迎訊息?</string>
<string name="cant_delete_user_profile">無法刪除個人檔案!</string>
<string name="user_hide">隱藏</string> <string name="user_hide">隱藏</string>
<string name="make_profile_private">將個人資料設為私密!</string> <string name="make_profile_private">將個人資料設為私密!</string>
<string name="v4_6_audio_video_calls">語音和視訊通話</string> <string name="v4_6_audio_video_calls">語音和視訊通話</string>
@ -991,10 +990,8 @@
<string name="v4_6_group_welcome_message_descr">設定向新成員顯示的訊息!</string> <string name="v4_6_group_welcome_message_descr">設定向新成員顯示的訊息!</string>
<string name="tap_to_activate_profile">點擊以激活配置檔案。</string> <string name="tap_to_activate_profile">點擊以激活配置檔案。</string>
<string name="v4_6_audio_video_calls_descr">支援藍牙和其他改進。</string> <string name="v4_6_audio_video_calls_descr">支援藍牙和其他改進。</string>
<string name="should_be_at_least_one_visible_profile">至少要有一個可見的個人檔案。</string>
<string name="group_welcome_title">歡迎訊息</string> <string name="group_welcome_title">歡迎訊息</string>
<string name="v4_6_chinese_spanish_interface_descr">感謝用戶-透過 Weblate 做出貢獻!</string> <string name="v4_6_chinese_spanish_interface_descr">感謝用戶-透過 Weblate 做出貢獻!</string>
<string name="should_be_at_least_one_profile">應該至少有一個個人檔案。</string>
<string name="user_unmute">解除靜音</string> <string name="user_unmute">解除靜音</string>
<string name="you_will_still_receive_calls_and_ntfs">當靜音配置檔案處於活動狀態時,你仍會接收來自靜音配置檔案的通話和通知。</string> <string name="you_will_still_receive_calls_and_ntfs">當靜音配置檔案處於活動狀態時,你仍會接收來自靜音配置檔案的通話和通知。</string>
<string name="user_unhide">取消隱藏</string> <string name="user_unhide">取消隱藏</string>