Add proper localization for space room removal UI

This commit is contained in:
ganfra
2026-01-15 12:14:08 +01:00
parent d4e676fd5a
commit 834a4ae2a7
44 changed files with 77 additions and 63 deletions

View File

@@ -216,6 +216,7 @@ class SpacePresenter(
}
}
return SpaceState(
currentSpaceId = spaceRoomList.roomId,
currentSpace = currentSpace.getOrNull(),
children = filteredChildren,
seenSpaceInvites = seenSpaceInvites,

View File

@@ -18,6 +18,7 @@ import kotlinx.collections.immutable.ImmutableMap
import kotlinx.collections.immutable.ImmutableSet
data class SpaceState(
private val currentSpaceId: RoomId,
val currentSpace: SpaceRoom?,
val children: ImmutableList<SpaceRoom>,
val seenSpaceInvites: ImmutableSet<RoomId>,
@@ -35,10 +36,12 @@ data class SpaceState(
) {
fun isJoining(spaceId: RoomId): Boolean = joinActions[spaceId] == AsyncAction.Loading
fun isSelected(spaceId: RoomId): Boolean = selectedRoomIds.contains(spaceId)
val hasAnyFailure: Boolean = joinActions.values.any {
val hasAnyJoinFailures: Boolean = joinActions.values.any {
it is AsyncAction.Failure
}
val currentSpaceDisplayName = currentSpace?.displayName ?: currentSpaceId.value
val showManageRoomsAction: Boolean = canManageRooms && children.any { spaceRoom -> !spaceRoom.isSpace }
val selectedCount: Int = selectedRoomIds.size
val isRemoveButtonEnabled: Boolean = selectedRoomIds.isNotEmpty()

View File

@@ -63,7 +63,7 @@ open class SpaceStateProvider : PreviewParameterProvider<SpaceState> {
}
fun aSpaceState(
parentSpace: SpaceRoom? = aParentSpace(),
parentSpace: SpaceRoom = aParentSpace(),
children: List<SpaceRoom> = emptyList(),
seenSpaceInvites: Set<RoomId> = emptySet(),
joiningRooms: Set<RoomId> = emptySet(),
@@ -79,6 +79,7 @@ fun aSpaceState(
removeRoomsAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
eventSink: (SpaceEvents) -> Unit = { },
) = SpaceState(
currentSpaceId = parentSpace.roomId,
currentSpace = parentSpace,
children = children.toImmutableList(),
seenSpaceInvites = seenSpaceInvites.toImmutableSet(),

View File

@@ -15,8 +15,6 @@ import androidx.compose.animation.expandVertically
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.compose.animation.shrinkVertically
import androidx.compose.animation.slideIn
import androidx.compose.animation.veilOut
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box
@@ -40,6 +38,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.heading
import androidx.compose.ui.semantics.semantics
@@ -49,6 +48,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.space.impl.R
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.designsystem.atomic.molecules.InviteButtonsRowMolecule
import io.element.android.libraries.designsystem.components.ClickableLinkText
@@ -82,6 +82,7 @@ import io.element.android.libraries.matrix.ui.components.JoinButton
import io.element.android.libraries.matrix.ui.components.SpaceHeaderView
import io.element.android.libraries.matrix.ui.components.SpaceRoomItemView
import io.element.android.libraries.matrix.ui.model.getAvatarData
import io.element.android.libraries.ui.strings.CommonPlurals
import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.delay
@@ -160,10 +161,17 @@ fun SpaceView(
state.eventSink(SpaceEvents.ShowTopicViewer(topic))
}
)
JoinRoomFailureEffect(
hasAnyFailure = state.hasAnyFailure,
JoinFailuresEffect(
hasAnyFailure = state.hasAnyJoinFailures,
eventSink = state.eventSink
)
RemoveRoomsActionView(
spaceDisplayName = state.currentSpaceDisplayName,
removeRoomsAction = state.removeRoomsAction,
selectedCount = state.selectedCount,
onConfirm = { state.eventSink(SpaceEvents.ConfirmRoomRemoval) },
onDismiss = { state.eventSink(SpaceEvents.ClearRemoveAction) },
)
acceptDeclineInviteView()
}
},
@@ -176,18 +184,10 @@ fun SpaceView(
}
)
}
// Confirmation dialog for removing rooms
RemoveRoomsConfirmationDialog(
removeRoomsAction = state.removeRoomsAction,
selectedCount = state.selectedCount,
onConfirm = { state.eventSink(SpaceEvents.ConfirmRoomRemoval) },
onDismiss = { state.eventSink(SpaceEvents.ClearRemoveAction) },
)
}
@Composable
private fun JoinRoomFailureEffect(
private fun JoinFailuresEffect(
hasAnyFailure: Boolean,
eventSink: (SpaceEvents) -> Unit,
) {
@@ -380,7 +380,7 @@ private fun SpaceViewTopBar(
onDismissRequest = { showMenu = false }
) {
SpaceMenuItem(
titleRes = CommonStrings.screen_space_menu_action_members,
titleRes = R.string.screen_space_menu_action_members,
icon = CompoundIcons.User(),
onClick = {
showMenu = false
@@ -448,7 +448,7 @@ private fun ManageModeTopBar(
},
title = {
Text(
text = "$selectedCount selected",
text = pluralStringResource(CommonPlurals.common_selected_count, selectedCount, selectedCount),
style = ElementTheme.typography.fontBodyLgMedium,
)
},
@@ -551,17 +551,19 @@ private fun SpaceRoom.inviteButtons(
}
@Composable
private fun RemoveRoomsConfirmationDialog(
private fun RemoveRoomsActionView(
spaceDisplayName: String,
removeRoomsAction: AsyncAction<Unit>,
selectedCount: Int,
onConfirm: () -> Unit,
onDismiss: () -> Unit,
) {
when (removeRoomsAction) {
AsyncAction.ConfirmingNoParams -> {
AsyncActionView(
async = removeRoomsAction,
confirmationDialog = {
ConfirmationDialog(
title = "Remove $selectedCount rooms from space?",
content = "Removing a room will not affect the room access. To change the access go to Room info > Privacy & security.",
title = pluralStringResource(R.plurals.screen_space_remove_rooms_confirmation_title, selectedCount, selectedCount, spaceDisplayName),
content = stringResource(R.string.screen_space_remove_rooms_confirmation_content),
submitText = stringResource(CommonStrings.action_remove),
onSubmitClick = onConfirm,
onDismiss = onDismiss,
@@ -574,15 +576,17 @@ private fun RemoveRoomsConfirmationDialog(
)
}
)
}
else -> {
AsyncActionView(
async = removeRoomsAction,
onSuccess = { onDismiss() },
onErrorDismiss = onDismiss,
)
}
}
},
onRetry = onConfirm,
errorTitle = {
stringResource(CommonStrings.common_something_went_wrong)
},
errorMessage = {
stringResource(CommonStrings.error_network_or_server_issue)
},
onSuccess = { onDismiss() },
onErrorDismiss = onDismiss,
)
}
@PreviewsDayNight

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="screen_space_menu_action_members">"Преглед на членовете"</string>
<string name="screen_space_settings_leave_space">"Напускане на пространството"</string>
<string name="screen_space_settings_roles_and_permissions">"Роли и разрешения"</string>
<string name="screen_space_settings_security_and_privacy">"Защита и поверителност"</string>

View File

@@ -11,6 +11,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Z následujících místností nebudete odstraněni, protože jste jediným administrátorem:"</string>
<string name="screen_leave_space_title">"Opustit %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Jste jediným administrátorem pro %1$s"</string>
<string name="screen_space_menu_action_members">"Zobrazit členy"</string>
<string name="screen_space_settings_leave_space">"Opustit prostor"</string>
<string name="screen_space_settings_roles_and_permissions">"Role a oprávnění"</string>
<string name="screen_space_settings_security_and_privacy">"Zabezpečení a soukromí"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Du vil ikke blive fjernet fra følgende rum, fordi du er den eneste administrator:"</string>
<string name="screen_leave_space_title">"Forlad %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Du er den eneste administrator for %1$s"</string>
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
<string name="screen_space_settings_leave_space">"Forlad gruppe"</string>
<string name="screen_space_settings_roles_and_permissions">"Roller og tilladelser"</string>
<string name="screen_space_settings_security_and_privacy">"Sikkerhed og privatliv"</string>

View File

@@ -10,6 +10,12 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Du wirst aus den folgenden Chats nicht entfernt, weil du der einzige Admin bist:"</string>
<string name="screen_leave_space_title">"%1$s verlassen?"</string>
<string name="screen_leave_space_title_last_admin">"Du bist der einzige Administrator für %1$s"</string>
<string name="screen_space_menu_action_members">"Mitglieder anzeigen"</string>
<string name="screen_space_remove_rooms_confirmation_content">"Das Entfernen eines Chats hat keinen Einfluss auf die Beitrittsregeln. Um die Regeln zu ändern, gehe zu \"Raum Info\" und dann zu \"Datenschutz und Sicherheit\""</string>
<plurals name="screen_space_remove_rooms_confirmation_title">
<item quantity="one">"%1$d chat aus %2$s entfernen"</item>
<item quantity="other">"%1$d chats aus %2$s entfernen"</item>
</plurals>
<string name="screen_space_settings_leave_space">"Space verlassen"</string>
<string name="screen_space_settings_roles_and_permissions">"Rollen und Berechtigungen"</string>
<string name="screen_space_settings_security_and_privacy">"Sicherheit &amp; Datenschutz"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Sind ei saa järgnevatest jututubadest eemaldada, kuna oled seal/neis ainus peakasutaja:"</string>
<string name="screen_leave_space_title">"Kas lahkud %1$s kogukonnast?"</string>
<string name="screen_leave_space_title_last_admin">"Sa oled siin ainus peakasutaja: %1$s"</string>
<string name="screen_space_menu_action_members">"Vaata liikmeid"</string>
<string name="screen_space_settings_leave_space">"Lahku kogukonnast"</string>
<string name="screen_space_settings_roles_and_permissions">"Rollid ja õigused"</string>
<string name="screen_space_settings_security_and_privacy">"Turvalisus ja privaatsus"</string>

View File

@@ -5,6 +5,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"از اتاق(های) زیر برداشته نخواهید شد؛ چرا که تنها مدیر هستید:"</string>
<string name="screen_leave_space_title">"ترک %1$s؟"</string>
<string name="screen_leave_space_title_last_admin">"تنها مدیر %1$s هستید"</string>
<string name="screen_space_menu_action_members">"دیدن اعضا"</string>
<string name="screen_space_settings_leave_space">"ترک فضا"</string>
<string name="screen_space_settings_roles_and_permissions">"نقش‌ها و اجازه‌ها"</string>
<string name="screen_space_settings_security_and_privacy">"امنیت و محرمانگی"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Sinua ei poisteta seuraavista huoneista, koska olet ainoa ylläpitäjä:"</string>
<string name="screen_leave_space_title">"Haluatko poistua tilasta %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Olet ainoa ylläpitäjä tilassa %1$s"</string>
<string name="screen_space_menu_action_members">"Näytä jäsenet"</string>
<string name="screen_space_settings_leave_space">"Poistu tilasta"</string>
<string name="screen_space_settings_roles_and_permissions">"Roolit ja oikeudet"</string>
<string name="screen_space_settings_security_and_privacy">"Turvallisuus ja yksityisyys"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Vous ne quitterez pas le ou les salons suivants car vous y êtes le seul administrateur:"</string>
<string name="screen_leave_space_title">"Quitter %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Vous êtes le seul administrateur de %1$s"</string>
<string name="screen_space_menu_action_members">"Voir les membres"</string>
<string name="screen_space_settings_leave_space">"Quitter lespace"</string>
<string name="screen_space_settings_roles_and_permissions">"Rôles &amp; autorisations"</string>
<string name="screen_space_settings_security_and_privacy">"Sécurité &amp; confidentialité"</string>

View File

@@ -11,6 +11,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Nećete biti uklonjeni iz sljedećih soba jer ste jedini administrator:"</string>
<string name="screen_leave_space_title">"Želite li napustiti %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Vi ste jedini administrator za %1$s"</string>
<string name="screen_space_menu_action_members">"Prikaži članove"</string>
<string name="screen_space_settings_leave_space">"Napusti prostor"</string>
<string name="screen_space_settings_roles_and_permissions">"Uloge i dopuštenja"</string>
<string name="screen_space_settings_security_and_privacy">"Sigurnost i privatnost"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Nem lesz eltávolítva a következő szobá(k)ból, mert ön az egyetlen adminisztrátor:"</string>
<string name="screen_leave_space_title">"Kilép innen: %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Ön az egyetlen adminisztrátor itt: %1$s"</string>
<string name="screen_space_menu_action_members">"Tagok megtekintése"</string>
<string name="screen_space_settings_leave_space">"Tér elhagyása"</string>
<string name="screen_space_settings_roles_and_permissions">"Szerepkörök és jogosultságok"</string>
<string name="screen_space_settings_security_and_privacy">"Biztonság és adatvédelem"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Non verrai rimosso dalle seguenti stanze perché sei l\'unico amministratore:"</string>
<string name="screen_leave_space_title">"Uscire da %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Sei l\'unico amministratore di %1$s"</string>
<string name="screen_space_menu_action_members">"Visualizza membri"</string>
<string name="screen_space_settings_leave_space">"Esci dallo spazio"</string>
<string name="screen_space_settings_roles_and_permissions">"Ruoli e autorizzazioni"</string>
<string name="screen_space_settings_security_and_privacy">"Sicurezza e privacy"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Du vil ikke bli fjernet fra følgende rom fordi du er den eneste administratoren:"</string>
<string name="screen_leave_space_title">"Forlat %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Du er den eneste administratoren for %1$s"</string>
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
<string name="screen_space_settings_leave_space">"Forlat område"</string>
<string name="screen_space_settings_roles_and_permissions">"Roller og tillatelser"</string>
<string name="screen_space_settings_security_and_privacy">"Sikkerhet og personvern"</string>

View File

@@ -10,6 +10,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Você não será removido das seguintes salas porque você é o único administrador:"</string>
<string name="screen_leave_space_title">"Sair de %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Você é o único administrador de %1$s"</string>
<string name="screen_space_menu_action_members">"Ver membros"</string>
<string name="screen_space_settings_leave_space">"Sair do espaço"</string>
<string name="screen_space_settings_roles_and_permissions">"Cargos e permissões"</string>
<string name="screen_space_settings_security_and_privacy">"Segurança e privacidade"</string>

View File

@@ -11,6 +11,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Nu veți părăsi următoarele camere deoarece sunteți singurul administrator:"</string>
<string name="screen_leave_space_title">"Părăsiți %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Sunteți singurul administrator pentru %1$s"</string>
<string name="screen_space_menu_action_members">"Vizualizați membrii"</string>
<string name="screen_space_settings_leave_space">"Părăsiți spațiul"</string>
<string name="screen_space_settings_roles_and_permissions">"Roluri și permisiuni"</string>
<string name="screen_space_settings_security_and_privacy">"Securitate &amp; confidențialitate"</string>

View File

@@ -11,6 +11,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Вы не будете удалены из следующих комнат, поскольку вы являетесь единственным администратором:"</string>
<string name="screen_leave_space_title">"Выйти из %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Вы единственный администратор для %1$s"</string>
<string name="screen_space_menu_action_members">"Просмотреть участников"</string>
<string name="screen_space_settings_leave_space">"Покинуть пространство"</string>
<string name="screen_space_settings_roles_and_permissions">"Роли и разрешения"</string>
<string name="screen_space_settings_security_and_privacy">"Безопасность и конфиденциальность"</string>

View File

@@ -11,6 +11,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"Z nasledujúcich miestností nebudete odstránený/á, pretože ste jediným správcom:"</string>
<string name="screen_leave_space_title">"Opustiť %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"Ste jediným administrátorom pre %1$s"</string>
<string name="screen_space_menu_action_members">"Zobraziť členov"</string>
<string name="screen_space_settings_leave_space">"Opustiť priestor"</string>
<string name="screen_space_settings_roles_and_permissions">"Roly a povolenia"</string>
<string name="screen_space_settings_security_and_privacy">"Bezpečnosť a súkromie"</string>

View File

@@ -9,6 +9,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"您不會被從以下聊天室移除,因為您是唯一的管理員:"</string>
<string name="screen_leave_space_title">"離開 %1$s"</string>
<string name="screen_leave_space_title_last_admin">"您是 %1$s 唯一的管理員"</string>
<string name="screen_space_menu_action_members">"檢視成員"</string>
<string name="screen_space_settings_leave_space">"離開空間"</string>
<string name="screen_space_settings_roles_and_permissions">"角色與權限"</string>
<string name="screen_space_settings_security_and_privacy">"安全與隱私"</string>

View File

@@ -9,6 +9,7 @@
<string name="screen_leave_space_subtitle_only_last_admin">"您不会从以下房间中被移除,因为您是唯一的管理员:"</string>
<string name="screen_leave_space_title">"离开%1$s"</string>
<string name="screen_leave_space_title_last_admin">"您是 %1$s 的唯一管理员"</string>
<string name="screen_space_menu_action_members">"查看成员"</string>
<string name="screen_space_settings_leave_space">"离开空间"</string>
<string name="screen_space_settings_roles_and_permissions">"角色与权限"</string>
<string name="screen_space_settings_security_and_privacy">"安全与隐私"</string>

View File

@@ -10,6 +10,12 @@
<string name="screen_leave_space_subtitle_only_last_admin">"You will not be removed from the following room(s) because you\'re the only administrator:"</string>
<string name="screen_leave_space_title">"Leave %1$s?"</string>
<string name="screen_leave_space_title_last_admin">"You are the only admin for %1$s"</string>
<string name="screen_space_menu_action_members">"View members"</string>
<string name="screen_space_remove_rooms_confirmation_content">"Removing a room will not affect the room access. To change the access go to Room info &gt; Privacy &amp; security."</string>
<plurals name="screen_space_remove_rooms_confirmation_title">
<item quantity="one">"Remove %1$d room from %2$s"</item>
<item quantity="other">"Remove %1$d rooms from %2$s"</item>
</plurals>
<string name="screen_space_settings_leave_space">"Leave space"</string>
<string name="screen_space_settings_roles_and_permissions">"Roles &amp; permissions"</string>
<string name="screen_space_settings_security_and_privacy">"Security &amp; privacy"</string>

View File

@@ -22,7 +22,7 @@ class SpaceStateTest {
@Test
fun `test default state`() {
val state = aSpaceState()
assertThat(state.hasAnyFailure).isFalse()
assertThat(state.hasAnyJoinFailures).isFalse()
assertThat(state.isJoining(A_ROOM_ID)).isFalse()
}
@@ -35,7 +35,7 @@ class SpaceStateTest {
A_ROOM_ID_3 to AsyncAction.Success(Unit),
)
)
assertThat(state.hasAnyFailure).isTrue()
assertThat(state.hasAnyJoinFailures).isTrue()
}
@Test

View File

@@ -333,7 +333,6 @@
<string name="screen_share_this_location_action">"Споделяне на това местоположение"</string>
<string name="screen_space_list_parent_space">"%1$s пространство"</string>
<string name="screen_space_list_title">"Пространства"</string>
<string name="screen_space_menu_action_members">"Преглед на членовете"</string>
<string name="screen_view_location_title">"Местоположение"</string>
<string name="settings_version_number">"Версия: %1$s (%2$s)"</string>
<string name="test_language_identifier">"bg"</string>

View File

@@ -483,7 +483,6 @@ Opravdu chcete pokračovat?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s prostor"</string>
<string name="screen_space_list_title">"Prostory"</string>
<string name="screen_space_menu_action_members">"Zobrazit členy"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Zpráva nebyla odeslána, protože ověřená identita uživatele %1$s se změnila."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Zpráva nebyla odeslána, protože%1$s neověřil(a) všechna zařízení."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Zpráva nebyla odeslána, protože jste neověřili jedno nebo více zařízení."</string>

View File

@@ -469,7 +469,6 @@ Er du sikker på, at du vil fortsætte?"</string>
<string name="screen_space_list_details">"%1$s•%2$s"</string>
<string name="screen_space_list_parent_space">"%1$s gruppe"</string>
<string name="screen_space_list_title">"Grupper"</string>
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Beskeden blev ikke sendt fordi %1$s s bekræftede identitet blev nulstillet."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Meddelelsen er ikke sendt, fordi %1$s ikke har bekræftet alle enheder."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Beskeden er ikke sendt, fordi du ikke har verificeret en eller flere af dine enheder."</string>

View File

@@ -483,12 +483,6 @@ Möchtest du wirklich fortfahren?"</string>
<string name="screen_space_list_empty_state_title">"Erstelle einen Space, um Chats zu organisieren"</string>
<string name="screen_space_list_parent_space">"%1$s Space"</string>
<string name="screen_space_list_title">"Spaces"</string>
<string name="screen_space_menu_action_members">"Mitglieder anzeigen"</string>
<string name="screen_space_remove_rooms_confirmation_content">"Das Entfernen eines Chats hat keinen Einfluss auf die Beitrittsregeln. Um die Regeln zu ändern, gehe zu \"Raum Info\" und dann zu \"Datenschutz und Sicherheit\""</string>
<plurals name="screen_space_remove_rooms_confirmation_title">
<item quantity="one">"Chat aus %1$s entfernen"</item>
<item quantity="other">"%1$d chats aus %2$s entfernen"</item>
</plurals>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Nachricht nicht gesendet, weil sich die verifizierte Identität von %1$s geändert hat."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Die Nachricht wurde nicht gesendet, weil %1$s nicht alle Geräte verifiziert hat."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Die Nachricht wurde nicht gesendet, weil du eines oder mehrere deiner Geräte nicht verifiziert hast."</string>

View File

@@ -476,7 +476,6 @@ Kas sa oled kindel, et soovid jätkata?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"Kogukond: %1$s"</string>
<string name="screen_space_list_title">"Kogukonnad"</string>
<string name="screen_space_menu_action_members">"Vaata liikmeid"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Sõnum on saatmata, kuna kasutaja %1$s verifitseeritud identiteet on lähtestatud."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Sõnum on saatmata, kuna %1$s pole verifitseerinud kõiki oma seadmeid."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Kuna sa pole üks või enamgi oma seadet verifitseerinud, siis sinu sõnum on saatmata."</string>

View File

@@ -400,7 +400,6 @@
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s فضا"</string>
<string name="screen_space_list_title">"فضاها"</string>
<string name="screen_space_menu_action_members">"دیدن اعضا"</string>
<string name="screen_view_location_title">"مکان"</string>
<string name="settings_version_number">"نگارش : %1$s (%2$s)"</string>
<string name="test_language_identifier">"fa"</string>

View File

@@ -470,7 +470,6 @@ Haluatko varmasti jatkaa?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s tila"</string>
<string name="screen_space_list_title">"Tilat"</string>
<string name="screen_space_menu_action_members">"Näytä jäsenet"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Viestiä ei lähetetty, koska käyttäjän %1$s vahvistettu identiteetti nollattiin."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Viestiä ei lähetetty, koska %1$s ei ole vahvistanut kaikkia laitteitaan."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Viestiä ei lähetetty, koska et ole vahvistanut yhtä tai useampaa laitettasi."</string>

View File

@@ -483,7 +483,6 @@ Raison : %1$s."</string>
<string name="screen_space_list_empty_state_title">"Créer des espaces pour organiser les salons"</string>
<string name="screen_space_list_parent_space">"Espace %1$s"</string>
<string name="screen_space_list_title">"Espaces"</string>
<string name="screen_space_menu_action_members">"Voir les membres"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Le message na pas été envoyé car lidentité vérifiée de %1$s a été réinitialisée."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Le message na pas été envoyé car %1$s na pas vérifié tous ses appareils."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Message non envoyé car vous navez pas vérifié tous vos appareils."</string>

View File

@@ -485,7 +485,6 @@ Jeste li sigurni da želite nastaviti?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"Prostor %1$s"</string>
<string name="screen_space_list_title">"Prostori"</string>
<string name="screen_space_menu_action_members">"Prikaži članove"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Poruka nije poslana jer je poništen potvrđeni identitet korisnika %1$s."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Poruka nije poslana jer %1$s nije potvrdio sve uređaje."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Poruka nije poslana jer niste potvrdili jedan svoj uređaj ili više njih."</string>

View File

@@ -469,7 +469,6 @@ Biztos, hogy folytatja?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s tér"</string>
<string name="screen_space_list_title">"Terek"</string>
<string name="screen_space_menu_action_members">"Tagok megtekintése"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Az üzenet nem lett elküldve, mert %1$s ellenőrzött személyazonossága megváltozott."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Az üzenet nem lett elküldve, mert %1$s nem ellenőrizte az összes eszközét."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Az üzenet nem lett elküldve, mert egy vagy több eszközét nem ellenőrizte."</string>

View File

@@ -470,7 +470,6 @@ Sei sicuro di voler continuare?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s spazio"</string>
<string name="screen_space_list_title">"Spazi"</string>
<string name="screen_space_menu_action_members">"Visualizza membri"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Messaggio non inviato perché l\'identità verificata di %1$s è stata reimpostata."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Messaggio non inviato perché %1$s non ha verificato tutti i dispositivi."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Messaggio non inviato perché non hai verificato uno o più dispositivi."</string>

View File

@@ -467,7 +467,6 @@ Er du sikker på at du vil fortsette?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s område"</string>
<string name="screen_space_list_title">"Områder"</string>
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Meldingen ble ikke sendt fordi %1$ss verifiserte identitet er tilbakestilt."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Meldingen ble ikke sendt fordi %1$s ikke har verifisert alle enheter."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Meldingen ble ikke sendt fordi du ikke har verifisert en eller flere av enhetene dine."</string>

View File

@@ -479,7 +479,6 @@ Você tem certeza de que deseja continuar?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"Espaço %1$s"</string>
<string name="screen_space_list_title">"Espaços"</string>
<string name="screen_space_menu_action_members">"Ver membros"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Mensagem não enviada porque a identidade verificada de %1$s foi redefinida."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"A mensagem não foi enviada porque %1$s não verificou todos os dispositivos."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Mensagem não enviada porque você não verificou um ou mais dos seus dispositivos."</string>

View File

@@ -484,7 +484,6 @@ Sunteți sigur că doriți să continuați?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"Spațiu %1$s"</string>
<string name="screen_space_list_title">"Spații"</string>
<string name="screen_space_menu_action_members">"Vizualizați membrii"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Mesajul nu a fost trimis deoarece identitatea verificată a lui %1$s s-a schimbat."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Mesajul nu a fost trimis deoarece %1$s nu a verificat toate dispozitivele."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Mesajul nu a fost trimis deoarece nu ați verificat unul sau mai multe dispozitive."</string>

View File

@@ -479,7 +479,6 @@
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s пространство"</string>
<string name="screen_space_list_title">"Пространства"</string>
<string name="screen_space_menu_action_members">"Просмотреть участников"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Сообщение не отправлено, потому что подтвержденная личность %1$s была сброшена."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Сообщение не отправлено, потому что %1$s не проверил одно или несколько устройств."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Сообщение не отправлено, поскольку вы не подтвердили одно или несколько своих устройств."</string>

View File

@@ -481,7 +481,6 @@ Naozaj chcete pokračovať?"</string>
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s priestor"</string>
<string name="screen_space_list_title">"Priestory"</string>
<string name="screen_space_menu_action_members">"Zobraziť členov"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Správa nebola odoslaná, pretože sa zmenila overená totožnosť používateľa %1$s."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Správa nebola odoslaná, pretože %1$s neoveril/a všetky zariadenia."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Správa nebola odoslaná, pretože ste neoverili jedno alebo viac svojich zariadení."</string>

View File

@@ -461,7 +461,6 @@
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s 空間"</string>
<string name="screen_space_list_title">"空間"</string>
<string name="screen_space_menu_action_members">"檢視成員"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"因為 %1$s 的驗證身份已重設,因此未傳送訊息。"</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"訊息未傳送,因為 %1$s 尚未驗證所有裝置。"</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"因為您尚未驗證一個或多個裝置,因此未傳送訊息"</string>

View File

@@ -460,7 +460,6 @@
<string name="screen_space_list_details">"%1$s • %2$s"</string>
<string name="screen_space_list_parent_space">"%1$s空间"</string>
<string name="screen_space_list_title">"空间"</string>
<string name="screen_space_menu_action_members">"查看成员"</string>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"消息未发送,因为%1$s的已验证身份已被重置。"</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"消息未发送,因为%1$s尚未验证所有设备。"</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"消息未发送,因为您有尚未验证的设备。"</string>

View File

@@ -317,6 +317,10 @@ Reason: %1$s."</string>
<string name="common_security">"Security"</string>
<string name="common_seen_by">"Seen by"</string>
<string name="common_select_account">"Select an account"</string>
<plurals name="common_selected_count">
<item quantity="one">"%1$d selected"</item>
<item quantity="other">"%1$d selected"</item>
</plurals>
<string name="common_send_to">"Send to"</string>
<string name="common_sending">"Sending…"</string>
<string name="common_sending_failed">"Sending failed"</string>
@@ -484,12 +488,6 @@ Are you sure you want to continue?"</string>
<string name="screen_space_list_empty_state_title">"Create spaces to organize rooms"</string>
<string name="screen_space_list_parent_space">"%1$s space"</string>
<string name="screen_space_list_title">"Spaces"</string>
<string name="screen_space_menu_action_members">"View members"</string>
<string name="screen_space_remove_rooms_confirmation_content">"Removing a room will not affect the room access. To change the access go to Room info &gt; Privacy &amp; security."</string>
<plurals name="screen_space_remove_rooms_confirmation_title">
<item quantity="one">"Remove room from %1$s"</item>
<item quantity="other">"Remove %1$d rooms from %2$s"</item>
</plurals>
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Message not sent because %1$ss verified identity was reset."</string>
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Message not sent because %1$s has not verified all devices."</string>
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Message not sent because you have not verified one or more of your devices."</string>

View File

@@ -233,7 +233,8 @@
"name" : ":features:space:impl",
"includeRegex" : [
"screen\\.leave_space\\..*",
"screen\\.space_settings\\..*"
"screen\\.space_settings\\..*",
"screen\\.space\\..*"
]
},
{