diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/config/PushConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/PushConfig.kt
similarity index 93%
rename from libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/config/PushConfig.kt
rename to appconfig/src/main/kotlin/io/element/android/appconfig/PushConfig.kt
index 823dd7f693..1836a5acb6 100644
--- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/config/PushConfig.kt
+++ b/appconfig/src/main/kotlin/io/element/android/appconfig/PushConfig.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.element.android.libraries.push.impl.config
+package io.element.android.appconfig
object PushConfig {
/**
diff --git a/appconfig/src/main/kotlin/io/element/android/appconfig/VoiceMessageConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/VoiceMessageConfig.kt
new file mode 100644
index 0000000000..a840079a5e
--- /dev/null
+++ b/appconfig/src/main/kotlin/io/element/android/appconfig/VoiceMessageConfig.kt
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2023 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.element.android.appconfig
+
+import kotlin.time.Duration.Companion.minutes
+
+object VoiceMessageConfig {
+ val maxVoiceMessageDuration = 30.minutes
+}
diff --git a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt
index 5052f0927f..9678068a3c 100644
--- a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt
+++ b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt
@@ -22,6 +22,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.features.analytics.api.AnalyticsOptInEvents
+import io.element.android.features.analytics.api.R
import io.element.android.libraries.designsystem.components.LINK_TAG
import io.element.android.libraries.designsystem.components.list.ListItemContent
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -30,7 +31,6 @@ import io.element.android.libraries.designsystem.text.buildAnnotatedStringWithSt
import io.element.android.libraries.designsystem.theme.components.ListItem
import io.element.android.libraries.designsystem.theme.components.ListSupportingText
import io.element.android.libraries.designsystem.theme.components.Text
-import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun AnalyticsPreferencesView(
@@ -42,18 +42,18 @@ fun AnalyticsPreferencesView(
}
val supportingText = stringResource(
- id = CommonStrings.screen_analytics_settings_help_us_improve,
+ id = R.string.screen_analytics_settings_help_us_improve,
state.applicationName
)
val linkText = buildAnnotatedStringWithStyledPart(
- CommonStrings.screen_analytics_settings_read_terms,
- CommonStrings.screen_analytics_settings_read_terms_content_link,
+ R.string.screen_analytics_settings_read_terms,
+ R.string.screen_analytics_settings_read_terms_content_link,
tagAndLink = LINK_TAG to state.policyUrl,
)
Column(modifier) {
ListItem(
headlineContent = {
- Text(stringResource(id = CommonStrings.screen_analytics_settings_share_data))
+ Text(stringResource(id = R.string.screen_analytics_settings_share_data))
},
supportingContent = {
Text(supportingText)
diff --git a/features/analytics/api/src/main/res/values-cs/translations.xml b/features/analytics/api/src/main/res/values-cs/translations.xml
new file mode 100644
index 0000000000..a60d94b797
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-cs/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Sdílet analytická data"
+ "Sdílejte anonymní údaje o používání, které nám pomohou identifikovat problémy."
+ "Můžete si přečíst všechny naše podmínky %1$s."
+ "zde"
+
diff --git a/features/analytics/api/src/main/res/values-de/translations.xml b/features/analytics/api/src/main/res/values-de/translations.xml
new file mode 100644
index 0000000000..135eac3d21
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-de/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Analysedaten teilen"
+ "Teile anonyme Nutzungsdaten, um uns bei der Identifizierung von Problemen zu helfen."
+ "Du kannst alle unsere Bedingungen lesen %1$s."
+ "hier"
+
diff --git a/features/analytics/api/src/main/res/values-fr/translations.xml b/features/analytics/api/src/main/res/values-fr/translations.xml
new file mode 100644
index 0000000000..aa0fe9a14f
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-fr/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Partagez des données de statistiques d’utilisation"
+ "Partagez des données d’utilisation anonymes pour nous aider à identifier les problèmes."
+ "Vous pouvez lire toutes nos conditions %1$s."
+ "ici"
+
diff --git a/features/analytics/api/src/main/res/values-ro/translations.xml b/features/analytics/api/src/main/res/values-ro/translations.xml
new file mode 100644
index 0000000000..e03a6cfb36
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-ro/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Partajați datele analitice"
+ "Distribuiți date anonime de utilizare pentru a ne ajuta să identificăm probleme."
+ "Puteți citi toate condițiile noastre %1$s."
+ "aici"
+
diff --git a/features/analytics/api/src/main/res/values-ru/translations.xml b/features/analytics/api/src/main/res/values-ru/translations.xml
new file mode 100644
index 0000000000..0617f21bbf
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-ru/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Делитесь данными аналитики"
+ "Предоставлять анонимные данные об использовании, чтобы помочь нам выявить проблемы."
+ "Вы можете ознакомиться со всеми нашими условиями %1$s."
+ "здесь"
+
diff --git a/features/analytics/api/src/main/res/values-sk/translations.xml b/features/analytics/api/src/main/res/values-sk/translations.xml
new file mode 100644
index 0000000000..a930b315ee
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-sk/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Zdieľať analytické údaje"
+ "Zdieľajte anonymné údaje o používaní, aby sme mohli identifikovať problémy."
+ "Môžete si prečítať všetky naše podmienky %1$s."
+ "tu"
+
diff --git a/features/analytics/api/src/main/res/values-zh-rTW/translations.xml b/features/analytics/api/src/main/res/values-zh-rTW/translations.xml
new file mode 100644
index 0000000000..db8f91ceea
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-zh-rTW/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "分享分析數據"
+ "分享匿名的使用數據以協助我們釐清問題。"
+ "您可以到%1$s閱讀我們的條款。"
+ "這裡"
+
diff --git a/features/analytics/api/src/main/res/values/localazy.xml b/features/analytics/api/src/main/res/values/localazy.xml
new file mode 100644
index 0000000000..8ae2a2d3d8
--- /dev/null
+++ b/features/analytics/api/src/main/res/values/localazy.xml
@@ -0,0 +1,7 @@
+
+
+ "Share analytics data"
+ "Share anonymous usage data to help us identify issues."
+ "You can read all our terms %1$s."
+ "here"
+
diff --git a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt
index 82bae809e8..22b5fcfd03 100644
--- a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt
+++ b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt
@@ -48,19 +48,19 @@ private fun LeaveRoomConfirmationDialog(
when (state.confirmation) {
is LeaveRoomState.Confirmation.Hidden -> {}
is LeaveRoomState.Confirmation.PrivateRoom -> LeaveRoomConfirmationDialog(
- text = CommonStrings.leave_room_alert_private_subtitle,
+ text = R.string.leave_room_alert_private_subtitle,
roomId = state.confirmation.roomId,
eventSink = state.eventSink,
)
is LeaveRoomState.Confirmation.LastUserInRoom -> LeaveRoomConfirmationDialog(
- text = CommonStrings.leave_room_alert_empty_subtitle,
+ text = R.string.leave_room_alert_empty_subtitle,
roomId = state.confirmation.roomId,
eventSink = state.eventSink,
)
is LeaveRoomState.Confirmation.Generic -> LeaveRoomConfirmationDialog(
- text = CommonStrings.leave_room_alert_subtitle,
+ text = R.string.leave_room_alert_subtitle,
roomId = state.confirmation.roomId,
eventSink = state.eventSink,
)
diff --git a/features/leaveroom/api/src/main/res/values-cs/translations.xml b/features/leaveroom/api/src/main/res/values-cs/translations.xml
new file mode 100644
index 0000000000..64195325c4
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-cs/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Opravdu chcete opustit tuto místnost? Jste tu jediná osoba. Pokud odejdete, nikdo se v budoucnu nebude moci připojit, včetně vás."
+ "Opravdu chcete opustit tuto místnost? Tato místnost není veřejná a bez pozvánky se nebudete moci znovu připojit."
+ "Opravdu chcete opustit místnost?"
+
diff --git a/features/leaveroom/api/src/main/res/values-de/translations.xml b/features/leaveroom/api/src/main/res/values-de/translations.xml
new file mode 100644
index 0000000000..c691f57471
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-de/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Bist du sicher, dass du diesen Raum verlassen möchtest? Du bist die einzige Person hier. Wenn du austritst, kann in Zukunft niemand mehr eintreten, auch du nicht."
+ "Bist du sicher, dass du diesen Raum verlassen möchtest? Dieser Raum ist nicht öffentlich und du kannst ihm ohne Einladung nicht erneut beitreten."
+ "Bist du sicher, dass du den Raum verlassen willst?"
+
diff --git a/features/leaveroom/api/src/main/res/values-es/translations.xml b/features/leaveroom/api/src/main/res/values-es/translations.xml
new file mode 100644
index 0000000000..b996ec51f2
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-es/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "¿Estás seguro de que quieres salir de esta sala? Eres la única persona aquí. Si te vas, nadie podrá unirse en el futuro, ni siquiera tú."
+ "¿Estás seguro de que quieres abandonar esta sala? Esta sala no es pública y no podrás volver a entrar sin una invitación."
+ "¿Seguro que quieres salir de la habitación?"
+
diff --git a/features/leaveroom/api/src/main/res/values-fr/translations.xml b/features/leaveroom/api/src/main/res/values-fr/translations.xml
new file mode 100644
index 0000000000..43ca62a678
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-fr/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Êtes-vous sûr de vouloir quitter ce salon ? Vous êtes la seule personne ici. Si vous partez, personne ne pourra rejoindre le salon à l’avenir, y compris vous."
+ "Êtes-vous sûr de vouloir quitter ce salon ? Ce salon n’est pas public et vous ne pourrez pas le rejoindre sans invitation."
+ "Êtes-vous sûr de vouloir quitter le salon ?"
+
diff --git a/features/leaveroom/api/src/main/res/values-it/translations.xml b/features/leaveroom/api/src/main/res/values-it/translations.xml
new file mode 100644
index 0000000000..60d481824a
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-it/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Sei sicuro di voler lasciare questa stanza? Sei l\'unica persona presente. Se esci, nessuno potrà unirsi in futuro, te compreso."
+ "Sei sicuro di voler lasciare questa stanza? Questa stanza non è pubblica e non potrai rientrare senza un invito."
+ "Sei sicuro di voler lasciare la stanza?"
+
diff --git a/features/leaveroom/api/src/main/res/values-ro/translations.xml b/features/leaveroom/api/src/main/res/values-ro/translations.xml
new file mode 100644
index 0000000000..d736c701a6
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-ro/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Sunteți sigur că vreți să părăsiți această cameră? Sunteți singura persoană de aici. Dacă o părasiți, nimeni nu se va mai putea alătura în viitor, inclusiv dumneavoastra."
+ "Sunteți sigur că vrei să părăsiți această cameră? Această cameră nu este publică și nu va veti putea alătura din nou fără o invitație."
+ "Sunteți sigur că vreți să părăsiți camera?"
+
diff --git a/features/leaveroom/api/src/main/res/values-ru/translations.xml b/features/leaveroom/api/src/main/res/values-ru/translations.xml
new file mode 100644
index 0000000000..5915518c80
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-ru/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Вы уверены, что хотите покинуть эту комнату? Вы здесь единственный человек. Если вы уйдете, никто не сможет присоединиться в будущем, включая вас."
+ "Вы уверены, что хотите покинуть эту комнату? Эта комната не является публичной, и Вы не сможете присоединиться к ней без приглашения."
+ "Вы уверены, что хотите покинуть комнату?"
+
diff --git a/features/leaveroom/api/src/main/res/values-sk/translations.xml b/features/leaveroom/api/src/main/res/values-sk/translations.xml
new file mode 100644
index 0000000000..c67cb131e7
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-sk/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Ste si istí, že chcete opustiť túto miestnosť? Ste tu jediná osoba. Ak odídete, nikto sa do nej nebude môcť v budúcnosti pripojiť, vrátane vás."
+ "Ste si istí, že chcete opustiť túto miestnosť? Táto miestnosť nie je verejná a bez pozvania sa do nej nebudete môcť vrátiť."
+ "Ste si istí, že chcete opustiť miestnosť?"
+
diff --git a/features/leaveroom/api/src/main/res/values-zh-rTW/translations.xml b/features/leaveroom/api/src/main/res/values-zh-rTW/translations.xml
new file mode 100644
index 0000000000..7b1b55acf6
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-zh-rTW/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "您確定要離開聊天室嗎?這裡只有您一個人。如果您離開了,包含您在內的所有人都無法再進入此聊天室。"
+ "您確定要離開聊天室嗎?此聊天室不是公開的,如果沒有收到邀請,您無法重新加入。"
+ "您確定要離開聊天室嗎?"
+
diff --git a/features/leaveroom/api/src/main/res/values/localazy.xml b/features/leaveroom/api/src/main/res/values/localazy.xml
new file mode 100644
index 0000000000..262369c9be
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values/localazy.xml
@@ -0,0 +1,6 @@
+
+
+ "Are you sure that you want to leave this room? You\'re the only person here. If you leave, no one will be able to join in the future, including you."
+ "Are you sure that you want to leave this room? This room is not public and you won\'t be able to rejoin without an invite."
+ "Are you sure that you want to leave the room?"
+
diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt
index d75c8f45c6..f4b152ecab 100644
--- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt
+++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt
@@ -40,6 +40,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
+import io.element.android.features.messages.impl.R
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.designsystem.components.async.AsyncView
import io.element.android.libraries.designsystem.components.button.BackButton
@@ -101,14 +102,14 @@ fun ReportMessageView(
OutlinedTextField(
value = state.reason,
onValueChange = { state.eventSink(ReportMessageEvents.UpdateReason(it)) },
- placeholder = { Text(stringResource(CommonStrings.report_content_hint)) },
+ placeholder = { Text(stringResource(R.string.report_content_hint)) },
enabled = !isSending,
modifier = Modifier
.fillMaxWidth()
.heightIn(min = 90.dp)
)
Text(
- text = stringResource(CommonStrings.report_content_explanation),
+ text = stringResource(R.string.report_content_explanation),
style = ElementTheme.typography.fontBodySmRegular,
color = MaterialTheme.colorScheme.secondary,
textAlign = TextAlign.Start,
@@ -122,11 +123,11 @@ fun ReportMessageView(
) {
Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(4.dp)) {
Text(
- text = stringResource(CommonStrings.screen_report_content_block_user),
+ text = stringResource(R.string.screen_report_content_block_user),
style = ElementTheme.typography.fontBodyLgRegular,
)
Text(
- text = stringResource(CommonStrings.screen_report_content_block_user_hint),
+ text = stringResource(R.string.screen_report_content_block_user_hint),
style = ElementTheme.typography.fontBodyMdRegular,
color = MaterialTheme.colorScheme.secondary,
)
diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojibaseExtensions.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojibaseExtensions.kt
index fb111cce97..bf1c69e612 100644
--- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojibaseExtensions.kt
+++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojibaseExtensions.kt
@@ -28,31 +28,29 @@ import androidx.compose.material.icons.outlined.EmojiSymbols
import androidx.compose.material.icons.outlined.EmojiTransportation
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.emojibasebindings.EmojibaseCategory
-import io.element.android.libraries.ui.strings.CommonStrings
+import io.element.android.features.messages.impl.R
@get:StringRes
-val EmojibaseCategory.title: Int get() =
- when(this){
- EmojibaseCategory.People -> CommonStrings.emoji_picker_category_people
- EmojibaseCategory.Nature -> CommonStrings.emoji_picker_category_nature
- EmojibaseCategory.Foods -> CommonStrings.emoji_picker_category_foods
- EmojibaseCategory.Activity -> CommonStrings.emoji_picker_category_activity
- EmojibaseCategory.Places -> CommonStrings.emoji_picker_category_places
- EmojibaseCategory.Objects -> CommonStrings.emoji_picker_category_objects
- EmojibaseCategory.Symbols -> CommonStrings.emoji_picker_category_symbols
- EmojibaseCategory.Flags -> CommonStrings.emoji_picker_category_flags
+val EmojibaseCategory.title: Int
+ get() = when (this) {
+ EmojibaseCategory.People -> R.string.emoji_picker_category_people
+ EmojibaseCategory.Nature -> R.string.emoji_picker_category_nature
+ EmojibaseCategory.Foods -> R.string.emoji_picker_category_foods
+ EmojibaseCategory.Activity -> R.string.emoji_picker_category_activity
+ EmojibaseCategory.Places -> R.string.emoji_picker_category_places
+ EmojibaseCategory.Objects -> R.string.emoji_picker_category_objects
+ EmojibaseCategory.Symbols -> R.string.emoji_picker_category_symbols
+ EmojibaseCategory.Flags -> R.string.emoji_picker_category_flags
}
val EmojibaseCategory.icon: ImageVector
- get() =
- when(this){
- EmojibaseCategory.People -> Icons.Outlined.EmojiPeople
- EmojibaseCategory.Nature -> Icons.Outlined.EmojiNature
- EmojibaseCategory.Foods -> Icons.Outlined.EmojiFoodBeverage
- EmojibaseCategory.Activity -> Icons.Outlined.EmojiEvents
- EmojibaseCategory.Places -> Icons.Outlined.EmojiTransportation
- EmojibaseCategory.Objects -> Icons.Outlined.EmojiObjects
- EmojibaseCategory.Symbols -> Icons.Outlined.EmojiSymbols
- EmojibaseCategory.Flags -> Icons.Outlined.EmojiFlags
- }
-
+ get() = when (this) {
+ EmojibaseCategory.People -> Icons.Outlined.EmojiPeople
+ EmojibaseCategory.Nature -> Icons.Outlined.EmojiNature
+ EmojibaseCategory.Foods -> Icons.Outlined.EmojiFoodBeverage
+ EmojibaseCategory.Activity -> Icons.Outlined.EmojiEvents
+ EmojibaseCategory.Places -> Icons.Outlined.EmojiTransportation
+ EmojibaseCategory.Objects -> Icons.Outlined.EmojiObjects
+ EmojibaseCategory.Symbols -> Icons.Outlined.EmojiSymbols
+ EmojibaseCategory.Flags -> Icons.Outlined.EmojiFlags
+ }
diff --git a/features/messages/impl/src/main/res/values-cs/translations.xml b/features/messages/impl/src/main/res/values-cs/translations.xml
index 5eeb2c2264..a59dcdca59 100644
--- a/features/messages/impl/src/main/res/values-cs/translations.xml
+++ b/features/messages/impl/src/main/res/values-cs/translations.xml
@@ -1,11 +1,22 @@
+ "Aktivity"
+ "Vlajky"
+ "Jídlo a nápoje"
+ "Zvířata a příroda"
+ "Předměty"
+ "Smajlíci a lidé"
+ "Cestování a místa"
+ "Symboly"
- "%1$d změna místnosti"
- "%1$d změny místnosti"
- "%1$d změn místnosti"
+ "Tato zpráva bude nahlášena správci vašeho domovského serveru. Nebude si moci přečíst žádné šifrované zprávy."
+ "Důvod nahlášení tohoto obsahu"
"Informujte celou místnost"
+ "Zaškrtněte, pokud chcete skrýt všechny aktuální a budoucí zprávy od tohoto uživatele"
"Fotoaparát"
"Vyfotit"
"Natočit video"
@@ -41,6 +52,7 @@
"Zobrazit méně"
"Držte pro nahrávání"
"Všichni"
+ "Zablokovat uživatele"
"Nahrání média se nezdařilo, zkuste to prosím znovu."
"Pouze zmínky a klíčová slova"
diff --git a/features/messages/impl/src/main/res/values-de/translations.xml b/features/messages/impl/src/main/res/values-de/translations.xml
index 161868614c..cb446ff6b4 100644
--- a/features/messages/impl/src/main/res/values-de/translations.xml
+++ b/features/messages/impl/src/main/res/values-de/translations.xml
@@ -1,9 +1,20 @@
+ "Aktivitäten"
+ "Flaggen"
+ "Essen & Trinken"
+ "Tiere & Natur"
+ "Objekte"
+ "Smileys & Menschen"
+ "Reisen & Orte"
+ "Symbole"
- "%1$d Raumänderung"
- "%1$d Raumänderungen"
+ "Diese Meldung wird an den Administrator deines Homeservers weitergeleitet. Dieser kann keine verschlüsselten Nachrichten lesen."
+ "Grund für die Meldung dieses Inhalts"
+ "Prüfe, ob du alle aktuellen und zukünftigen Nachrichten dieses Benutzers ausblenden möchtest"
"Kamera"
"Foto machen"
"Video aufnehmen"
@@ -36,6 +47,7 @@
"Deine Nachricht konnte nicht gesendet werden"
"Emoji hinzufügen"
"Weniger anzeigen"
+ "Benutzer sperren"
"Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut."
"Nur Erwähnungen und Schlüsselwörter"
diff --git a/features/messages/impl/src/main/res/values-es/translations.xml b/features/messages/impl/src/main/res/values-es/translations.xml
index fe186df358..6a0b285638 100644
--- a/features/messages/impl/src/main/res/values-es/translations.xml
+++ b/features/messages/impl/src/main/res/values-es/translations.xml
@@ -1,7 +1,19 @@
+ "Actividades"
+ "Banderas"
+ "Comida y bebida"
+ "Animales y naturaleza"
+ "Objetos"
+ "Emojis y personas"
+ "Viajes y lugares"
+ "Símbolos"
- "%1$d cambio en la sala"
- "%1$d cambios en la sala"
+ "Este mensaje se notificará al administrador de su homeserver. No podrán leer ningún mensaje cifrado."
+ "Motivo para denunciar este contenido"
+ "Marque si quieres ocultar todos los mensajes actuales y futuros de este usuario"
+ "Bloquear usuario"
diff --git a/features/messages/impl/src/main/res/values-fr/translations.xml b/features/messages/impl/src/main/res/values-fr/translations.xml
index f68a29ce16..8c3babbcf8 100644
--- a/features/messages/impl/src/main/res/values-fr/translations.xml
+++ b/features/messages/impl/src/main/res/values-fr/translations.xml
@@ -1,10 +1,21 @@
+ "Activités"
+ "Drapeaux"
+ "Nourriture et boissons"
+ "Animaux et nature"
+ "Objets"
+ "Émoticônes et personnes"
+ "Voyages & lieux"
+ "Symboles"
- "%1$d changement dans le salon"
- "%1$d changements dans le salon"
+ "Ce message sera signalé à l’administrateur de votre serveur d’accueil. Il ne pourra lire aucun message chiffré."
+ "Raison du signalement de ce contenu"
"Notifier tout le salon"
+ "Cochez si vous souhaitez masquer tous les messages actuels et futurs de cet utilisateur."
"Appareil photo"
"Prendre une photo"
"Enregistrer une vidéo"
@@ -40,6 +51,7 @@
"Afficher moins"
"Maintenir pour enregistrer"
"Tout le monde"
+ "Bloquer l’utilisateur"
"Échec du traitement des médias à télécharger, veuillez réessayer."
"Mentions et mots clés uniquement"
diff --git a/features/messages/impl/src/main/res/values-it/translations.xml b/features/messages/impl/src/main/res/values-it/translations.xml
index 1b0a2c99a3..735ecbe913 100644
--- a/features/messages/impl/src/main/res/values-it/translations.xml
+++ b/features/messages/impl/src/main/res/values-it/translations.xml
@@ -1,7 +1,19 @@
+ "Attività"
+ "Bandiere"
+ "Cibi & Bevande"
+ "Animali & Natura"
+ "Oggetti"
+ "Faccine & Persone"
+ "Viaggi & Luoghi"
+ "Simboli"
- "%1$d modifica alla stanza"
- "%1$d modifiche alla stanza"
+ "Questo messaggio verrà segnalato all\'amministratore dell\'homeserver. Questi non sarà in grado di leggere i messaggi criptati."
+ "Motivo della segnalazione di questo contenuto"
+ "Seleziona se vuoi nascondere tutti i messaggi attuali e futuri di questo utente"
+ "Blocca utente"
diff --git a/features/messages/impl/src/main/res/values-ro/translations.xml b/features/messages/impl/src/main/res/values-ro/translations.xml
index 16e4867196..b23e524d77 100644
--- a/features/messages/impl/src/main/res/values-ro/translations.xml
+++ b/features/messages/impl/src/main/res/values-ro/translations.xml
@@ -1,10 +1,21 @@
+ "Activități"
+ "Steaguri"
+ "Mâncare & Băutură"
+ "Animale și Natură"
+ "Obiecte"
+ "Fețe zâmbitoare & Oameni"
+ "Călătorii & Locuri"
+ "Simboluri"
- "%1$d schimbare a camerii"
- "%1$d schimbări ale camerei"
- "%1$d schimbări ale camerei"
+ "Acest mesaj va fi raportat administratorilor homeserver-ului tau. Ei nu vor putea citi niciun mesaj criptat."
+ "Motivul raportării acestui conținut"
+ "Confirmați că doriți să ascundeți toate mesajele curente și viitoare de la acest utilizator"
"Cameră foto"
"Faceți o fotografie"
"Înregistrați un videoclip"
@@ -37,6 +48,7 @@
"Mesajul dvs. nu a putut fi trimis"
"Adăugați emoji"
"Afișați mai puțin"
+ "Blocați utilizatorul"
"Procesarea datelor media a eșuat, vă rugăm să încercați din nou."
"Numai mențiuni și cuvinte cheie"
diff --git a/features/messages/impl/src/main/res/values-ru/translations.xml b/features/messages/impl/src/main/res/values-ru/translations.xml
index c3af66d8ad..7fc6a14494 100644
--- a/features/messages/impl/src/main/res/values-ru/translations.xml
+++ b/features/messages/impl/src/main/res/values-ru/translations.xml
@@ -1,11 +1,22 @@
+ "Деятельность"
+ "Флаги"
+ "Еда и напитки"
+ "Животные и природа"
+ "Объекты"
+ "Смайлы и люди"
+ "Путешествия и места"
+ "Символы"
- "%1$d изменение в комнате"
- "%1$d изменения в комнате"
- "%1$d изменений в комнате"
+ "Это сообщение будет передано администратору вашего домашнего сервера. Они не смогут прочитать зашифрованные сообщения."
+ "Причина, по которой вы пожаловались на этот контент"
"Уведомить всю комнату"
+ "Отметьте, хотите ли вы скрыть все текущие и будущие сообщения от этого пользователя"
"Камера"
"Сделать фото"
"Записать видео"
@@ -41,6 +52,7 @@
"Показать меньше"
"Удерживайте для записи"
"Для всех"
+ "Заблокировать пользователя"
"Не удалось обработать медиафайл для загрузки, попробуйте еще раз."
"Только упоминания и ключевые слова"
diff --git a/features/messages/impl/src/main/res/values-sk/translations.xml b/features/messages/impl/src/main/res/values-sk/translations.xml
index 8800aa7a22..8c20bcf252 100644
--- a/features/messages/impl/src/main/res/values-sk/translations.xml
+++ b/features/messages/impl/src/main/res/values-sk/translations.xml
@@ -1,11 +1,22 @@
+ "Aktivity"
+ "Vlajky"
+ "Jedlo a nápoje"
+ "Zvieratá a príroda"
+ "Predmety"
+ "Smajlíky a ľudia"
+ "Cestovanie a miesta"
+ "Symboly"
- "%1$d zmena miestnosti"
- "%1$d zmeny miestnosti"
- "%1$d zmien miestnosti"
+ "Táto správa bude nahlásená správcovi vášho domovského servera. Nebude môcť prečítať žiadne šifrované správy."
+ "Dôvod nahlásenia tohto obsahu"
"Informovať celú miestnosť"
+ "Označte, či chcete skryť všetky aktuálne a budúce správy od tohto používateľa"
"Kamera"
"Odfotiť"
"Nahrať video"
@@ -41,6 +52,7 @@
"Zobraziť menej"
"Podržaním nahrajte"
"Všetci"
+ "Zablokovať používateľa"
"Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova."
"Iba zmienky a kľúčové slová"
diff --git a/features/messages/impl/src/main/res/values-zh-rTW/translations.xml b/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
index d3e9c9bce9..9eb7664c47 100644
--- a/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
@@ -1,8 +1,17 @@
+ "活動"
+ "旗幟"
+ "食物與飲料"
+ "動物與大自然"
+ "物品"
+ "表情與人物"
+ "旅行與景點"
+ "標誌"
- "%1$d 個聊天室變更"
+ "檢舉這個內容的原因"
"照相機"
"拍照"
"錄影"
@@ -25,5 +34,6 @@
"無法傳送您的訊息"
"新增表情符號"
"較少"
+ "封鎖使用者"
"僅限提及與關鍵字"
diff --git a/features/messages/impl/src/main/res/values/localazy.xml b/features/messages/impl/src/main/res/values/localazy.xml
index 17f791e752..cbc5f127e9 100644
--- a/features/messages/impl/src/main/res/values/localazy.xml
+++ b/features/messages/impl/src/main/res/values/localazy.xml
@@ -1,10 +1,21 @@
+ "Activities"
+ "Flags"
+ "Food & Drink"
+ "Animals & Nature"
+ "Objects"
+ "Smileys & People"
+ "Travel & Places"
+ "Symbols"
- "%1$d room change"
- "%1$d room changes"
+ "This message will be reported to your homeserver’s administrator. They will not be able to read any encrypted messages."
+ "Reason for reporting this content"
"Notify the whole room"
+ "Check if you want to hide all current and future messages from this user"
"Camera"
"Take photo"
"Record video"
@@ -40,6 +51,7 @@
"Show less"
"Hold to record"
"Everyone"
+ "Block user"
"Failed processing media to upload, please try again."
"Mentions and Keywords only"
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt
index f93ecad3fd..167dc9b1c1 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt
@@ -23,6 +23,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.lifecycle.Lifecycle
+import io.element.android.features.preferences.impl.R
import io.element.android.libraries.androidutils.system.startNotificationSettingsIntent
import io.element.android.libraries.designsystem.atomic.molecules.DialogLikeBannerMolecule
import io.element.android.libraries.designsystem.components.async.AsyncView
@@ -57,7 +58,7 @@ fun NotificationSettingsView(
PreferencePage(
modifier = modifier,
onBackPressed = onBackPressed,
- title = stringResource(id = CommonStrings.screen_notification_settings_title)
+ title = stringResource(id = R.string.screen_notification_settings_title)
) {
when (state.matrixSettings) {
@@ -80,7 +81,7 @@ fun NotificationSettingsView(
}
AsyncView(
async = state.changeNotificationSettingAction,
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(NotificationSettingsEvents.ClearNotificationChangeError) },
onSuccess = {},
)
@@ -103,10 +104,10 @@ private fun NotificationSettingsContentView(
if (systemSettings.appNotificationsEnabled && !systemSettings.systemNotificationsEnabled) {
PreferenceText(
iconResourceId = CommonDrawables.ic_compound_notifications_solid_off,
- title = stringResource(id = CommonStrings.screen_notification_settings_system_notifications_turned_off),
+ title = stringResource(id = R.string.screen_notification_settings_system_notifications_turned_off),
subtitle = stringResource(
- id = CommonStrings.screen_notification_settings_system_notifications_action_required,
- stringResource(id = CommonStrings.screen_notification_settings_system_notifications_action_required_content_link)
+ id = R.string.screen_notification_settings_system_notifications_action_required,
+ stringResource(id = R.string.screen_notification_settings_system_notifications_action_required_content_link)
),
onClick = {
context.startNotificationSettingsIntent()
@@ -116,31 +117,31 @@ private fun NotificationSettingsContentView(
PreferenceSwitch(
modifier = modifier,
- title = stringResource(id = CommonStrings.screen_notification_settings_enable_notifications),
+ title = stringResource(id = R.string.screen_notification_settings_enable_notifications),
isChecked = systemSettings.appNotificationsEnabled,
switchAlignment = Alignment.Top,
onCheckedChange = onNotificationsEnabledChanged
)
if (systemSettings.appNotificationsEnabled) {
- PreferenceCategory(title = stringResource(id = CommonStrings.screen_notification_settings_notification_section_title)) {
+ PreferenceCategory(title = stringResource(id = R.string.screen_notification_settings_notification_section_title)) {
PreferenceText(
- title = stringResource(id = CommonStrings.screen_notification_settings_group_chats),
+ title = stringResource(id = R.string.screen_notification_settings_group_chats),
subtitle = getTitleForRoomNotificationMode(mode = matrixSettings.defaultGroupNotificationMode),
onClick = onGroupChatsClicked
)
PreferenceText(
- title = stringResource(id = CommonStrings.screen_notification_settings_direct_chats),
+ title = stringResource(id = R.string.screen_notification_settings_direct_chats),
subtitle = getTitleForRoomNotificationMode(mode = matrixSettings.defaultOneToOneNotificationMode),
onClick = onDirectChatsClicked
)
}
- PreferenceCategory(title = stringResource(id = CommonStrings.screen_notification_settings_mode_mentions)) {
+ PreferenceCategory(title = stringResource(id = R.string.screen_notification_settings_mode_mentions)) {
PreferenceSwitch(
modifier = Modifier,
- title = stringResource(id = CommonStrings.screen_notification_settings_room_mention_label),
+ title = stringResource(id = R.string.screen_notification_settings_room_mention_label),
isChecked = matrixSettings.atRoomNotificationsEnabled,
switchAlignment = Alignment.Top,
onCheckedChange = onMentionNotificationsChanged
@@ -162,8 +163,8 @@ private fun NotificationSettingsContentView(
@Composable
private fun getTitleForRoomNotificationMode(mode: RoomNotificationMode?) =
when (mode) {
- RoomNotificationMode.ALL_MESSAGES -> stringResource(id = CommonStrings.screen_notification_settings_edit_mode_all_messages)
- RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY -> stringResource(id = CommonStrings.screen_notification_settings_edit_mode_mentions_and_keywords)
+ RoomNotificationMode.ALL_MESSAGES -> stringResource(id = R.string.screen_notification_settings_edit_mode_all_messages)
+ RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY -> stringResource(id = R.string.screen_notification_settings_edit_mode_mentions_and_keywords)
RoomNotificationMode.MUTE -> stringResource(id = CommonStrings.common_mute)
null -> ""
}
@@ -177,8 +178,8 @@ private fun InvalidNotificationSettingsView(
) {
DialogLikeBannerMolecule(
modifier = modifier,
- title = stringResource(CommonStrings.screen_notification_settings_configuration_mismatch),
- content = stringResource(CommonStrings.screen_notification_settings_configuration_mismatch_description),
+ title = stringResource(R.string.screen_notification_settings_configuration_mismatch),
+ content = stringResource(R.string.screen_notification_settings_configuration_mismatch_description),
onSubmitClicked = onContinueClicked,
onDismissClicked = null,
)
@@ -186,7 +187,7 @@ private fun InvalidNotificationSettingsView(
if (showError) {
ErrorDialog(
title = stringResource(id = CommonStrings.dialog_title_error),
- content = stringResource(id = CommonStrings.screen_notification_settings_failed_fixing_configuration),
+ content = stringResource(id = R.string.screen_notification_settings_failed_fixing_configuration),
onDismiss = onDismissError
)
}
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/DefaultNotificationSettingOption.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/DefaultNotificationSettingOption.kt
index c7d2ac507d..3201243e75 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/DefaultNotificationSettingOption.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/DefaultNotificationSettingOption.kt
@@ -27,13 +27,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.unit.dp
+import io.element.android.features.preferences.impl.R
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.theme.components.RadioButton
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.theme.ElementTheme
-import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun DefaultNotificationSettingOption(
@@ -43,8 +43,8 @@ fun DefaultNotificationSettingOption(
onOptionSelected: (RoomNotificationMode) -> Unit = {},
) {
val subtitle = when(mode) {
- RoomNotificationMode.ALL_MESSAGES -> stringResource(id = CommonStrings.screen_notification_settings_edit_mode_all_messages)
- RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY -> stringResource(id = CommonStrings.screen_notification_settings_edit_mode_mentions_and_keywords)
+ RoomNotificationMode.ALL_MESSAGES -> stringResource(id = R.string.screen_notification_settings_edit_mode_all_messages)
+ RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY -> stringResource(id = R.string.screen_notification_settings_edit_mode_mentions_and_keywords)
else -> ""
}
Row(
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt
index dbbd90791b..415d5e01da 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt
@@ -22,6 +22,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
+import io.element.android.features.preferences.impl.R
import io.element.android.libraries.designsystem.components.async.AsyncView
import io.element.android.libraries.designsystem.components.avatar.Avatar
import io.element.android.libraries.designsystem.components.avatar.AvatarData
@@ -49,9 +50,9 @@ fun EditDefaultNotificationSettingView(
modifier: Modifier = Modifier,
) {
val title = if (state.isOneToOne) {
- CommonStrings.screen_notification_settings_direct_chats
+ R.string.screen_notification_settings_direct_chats
} else {
- CommonStrings.screen_notification_settings_group_chats
+ R.string.screen_notification_settings_group_chats
}
PreferencePage(
modifier = modifier,
@@ -63,9 +64,9 @@ fun EditDefaultNotificationSettingView(
val validModes = listOf(RoomNotificationMode.ALL_MESSAGES, RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY)
val categoryTitle = if (state.isOneToOne) {
- CommonStrings.screen_notification_settings_edit_screen_direct_section_header
+ R.string.screen_notification_settings_edit_screen_direct_section_header
} else {
- CommonStrings.screen_notification_settings_edit_screen_group_section_header
+ R.string.screen_notification_settings_edit_screen_group_section_header
}
PreferenceCategory(title = stringResource(id = categoryTitle)) {
@@ -82,12 +83,12 @@ fun EditDefaultNotificationSettingView(
}
}
if (state.roomsWithUserDefinedMode.isNotEmpty()) {
- PreferenceCategory(title = stringResource(id = CommonStrings.screen_notification_settings_edit_custom_settings_section_title)) {
+ PreferenceCategory(title = stringResource(id = R.string.screen_notification_settings_edit_custom_settings_section_title)) {
state.roomsWithUserDefinedMode.forEach { summary ->
val subtitle = when (summary.details.notificationMode) {
- RoomNotificationMode.ALL_MESSAGES -> stringResource(id = CommonStrings.screen_notification_settings_edit_mode_all_messages)
+ RoomNotificationMode.ALL_MESSAGES -> stringResource(id = R.string.screen_notification_settings_edit_mode_all_messages)
RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY -> {
- stringResource(id = CommonStrings.screen_notification_settings_edit_mode_mentions_and_keywords)
+ stringResource(id = R.string.screen_notification_settings_edit_mode_mentions_and_keywords)
}
RoomNotificationMode.MUTE -> stringResource(id = CommonStrings.common_mute)
null -> ""
@@ -117,7 +118,7 @@ fun EditDefaultNotificationSettingView(
}
AsyncView(
async = state.changeNotificationSettingAction,
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(EditDefaultNotificationSettingStateEvents.ClearError) },
onSuccess = {},
)
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt
index 801a7f6895..1fc47fdece 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt
@@ -28,6 +28,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
+import io.element.android.features.preferences.impl.R
import io.element.android.features.preferences.impl.user.UserPreferences
import io.element.android.libraries.designsystem.components.list.ListItemContent
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
@@ -116,7 +117,7 @@ fun PreferencesRootView(
}
if (state.showNotificationSettings) {
ListItem(
- headlineContent = { Text(stringResource(id = CommonStrings.screen_notification_settings_title)) },
+ headlineContent = { Text(stringResource(id = R.string.screen_notification_settings_title)) },
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_compound_notifications)),
onClick = onOpenNotificationSettings,
)
diff --git a/features/preferences/impl/src/main/res/values-cs/translations.xml b/features/preferences/impl/src/main/res/values-cs/translations.xml
index d19ba2ac08..49ffdd14a1 100644
--- a/features/preferences/impl/src/main/res/values-cs/translations.xml
+++ b/features/preferences/impl/src/main/res/values-cs/translations.xml
@@ -12,4 +12,31 @@
"Nelze aktualizovat profil"
"Upravit profil"
"Aktualizace profilu…"
+ "Další nastavení"
+ "Halsové a video hovory"
+ "Neshoda konfigurace"
+ "Zjednodušili jsme nastavení oznámení, abychom usnadnili hledání možností.
+
+Některá vlastní nastavení, která jste si vybrali v minulosti, se zde nezobrazují, ale jsou stále aktivní.
+
+Pokud budete pokračovat, některá nastavení se mohou změnit."
+ "Přímé zprávy"
+ "Vlastní nastavení pro chat"
+ "Při aktualizaci nastavení oznámení došlo k chybě."
+ "Všechny zprávy"
+ "Pouze zmínky a klíčová slova"
+ "V přímých zprávách mě upozornit na"
+ "Ve skupinových chatech mě upozornit na"
+ "Povolit oznámení na tomto zařízení"
+ "Konfigurace nebyla opravena, zkuste to prosím znovu."
+ "Skupinové chaty"
+ "Zmínky"
+ "Vše"
+ "Zmínky"
+ "Upozornit mě na"
+ "Upozornit mě na @room"
+ "Chcete-li dostávat oznámení, změňte prosím svůj %1$s."
+ "systémová nastavení"
+ "Systémová oznámení byla vypnuta"
+ "Oznámení"
diff --git a/features/preferences/impl/src/main/res/values-de/translations.xml b/features/preferences/impl/src/main/res/values-de/translations.xml
index 3992b93ab7..4287d4d7c8 100644
--- a/features/preferences/impl/src/main/res/values-de/translations.xml
+++ b/features/preferences/impl/src/main/res/values-de/translations.xml
@@ -8,4 +8,27 @@
"Profil kann nicht aktualisiert werden"
"Profil bearbeiten"
"Profil wird aktualisiert…"
+ "Zusätzliche Einstellungen"
+ "Audio- und Videoanrufe"
+ "Konfiguration stimmt nicht überein"
+ "Wir haben die Einstellungen für Benachrichtigungen vereinfacht, damit die Optionen leichter zu finden sind. Einige benutzerdefinierte Einstellungen, die du in der Vergangenheit gewählt hast, werden hier nicht angezeigt, sind aber immer noch aktiv. Wenn du fortfährst, können sich einige deiner Einstellungen ändern."
+ "Direkte Chats"
+ "Benutzerdefinierte Einstellung pro Chat"
+ "Beim Aktualisieren der Benachrichtigungseinstellungen ist ein Fehler aufgetreten."
+ "Alle Nachrichten"
+ "Nur Erwähnungen und Schlüsselwörter"
+ "Bei direkten Chats, benachrichtige mich bei"
+ "Bei Gruppenchats benachrichtige mich bei"
+ "Benachrichtigungen auf diesem Gerät aktivieren"
+ "Die Konfiguration wurde nicht korrigiert, bitte versuche es erneut."
+ "Gruppenchats"
+ "Erwähnungen"
+ "Alle"
+ "Erwähnungen"
+ "Benachrichtige mich bei"
+ "Benachrichtige mich bei @room"
+ "Um Benachrichtigungen zu erhalten, ändere bitte deine %1$s."
+ "Systemeinstellungen"
+ "Systembenachrichtigungen deaktiviert"
+ "Benachrichtigungen"
diff --git a/features/preferences/impl/src/main/res/values-fr/translations.xml b/features/preferences/impl/src/main/res/values-fr/translations.xml
index 85ac80b5d9..a831656698 100644
--- a/features/preferences/impl/src/main/res/values-fr/translations.xml
+++ b/features/preferences/impl/src/main/res/values-fr/translations.xml
@@ -12,4 +12,31 @@
"Impossible de mettre à jour le profil"
"Modifier le profil"
"Mise à jour du profil…"
+ "Réglages supplémentaires"
+ "Appels audio et vidéo"
+ "Incompatibilité de configuration"
+ "Nous avons simplifié les paramètres des notifications pour que les options soient plus faciles à trouver.
+
+Certains paramètres personnalisés que vous avez choisis par le passé ne sont pas affichés ici, mais ils sont toujours actifs.
+
+Si vous continuez, il est possible que certains de vos paramètres soient modifiés."
+ "Discussions directes"
+ "Paramétrage personnalisé par salon"
+ "Une erreur s’est produite lors de la mise à jour du paramètre de notification."
+ "Tous les messages"
+ "Mentions et mots clés uniquement"
+ "Sur les discussions directes, prévenez-moi pour"
+ "Lors de discussions de groupe, prévenez-moi pour"
+ "Activer les notifications sur cet appareil"
+ "La configuration n’a pas été corrigée, veuillez réessayer."
+ "Discussions de groupe"
+ "Mentions"
+ "Tous"
+ "Mentions"
+ "Prévenez-moi pour"
+ "Prévenez-moi si un message contient \"@room\""
+ "Pour recevoir des notifications, veuillez modifier votre %1$s."
+ "paramètres du système"
+ "Les notifications du système sont désactivées"
+ "Notifications"
diff --git a/features/preferences/impl/src/main/res/values-ro/translations.xml b/features/preferences/impl/src/main/res/values-ro/translations.xml
new file mode 100644
index 0000000000..1b652c3a30
--- /dev/null
+++ b/features/preferences/impl/src/main/res/values-ro/translations.xml
@@ -0,0 +1,30 @@
+
+
+ "Setări adiționale"
+ "Apeluri audio și video"
+ "Nepotrivire de configurație"
+ "Am simplificat Setările pentru notificări pentru a face opțiunile mai ușor de găsit.
+
+Unele setări personalizate pe care le-ați ales în trecut nu sunt afișate aici, dar sunt încă active.
+
+Dacă continuați, unele dintre setările dumneavoastră pot fi modificate."
+ "Discuții directe"
+ "Setare personalizată per chat"
+ "A apărut o eroare în timpul actualizării setărilor pentru notificari."
+ "Toate mesajele"
+ "Numai mențiuni și cuvinte cheie"
+ "În conversațiile directe, anunță-mă pentru"
+ "În conversațiile de grup, anunțați-mă pentru"
+ "Activați notificările pe acest dispozitiv"
+ "Configurația nu a fost corectată, vă rugăm să încercați din nou."
+ "Discuții de grup"
+ "Mențiuni"
+ "Toate"
+ "Mențiuni"
+ "Anunță-mă pentru"
+ "Anunțați-mă pentru @room"
+ "Pentru a primi notificări, vă rugăm să vă schimbați %1$s."
+ "Setări de sistem"
+ "Notificările de sistem sunt dezactivate"
+ "Notificări"
+
diff --git a/features/preferences/impl/src/main/res/values-ru/translations.xml b/features/preferences/impl/src/main/res/values-ru/translations.xml
index a1fd3f3bc6..9afb388a9a 100644
--- a/features/preferences/impl/src/main/res/values-ru/translations.xml
+++ b/features/preferences/impl/src/main/res/values-ru/translations.xml
@@ -12,4 +12,29 @@
"Невозможно обновить профиль"
"Редактировать профиль"
"Обновление профиля…"
+ "Дополнительные параметры"
+ "Аудио и видео звонки"
+ "Несоответствие конфигурации"
+ "Мы упростили настройки уведомлений, чтобы упростить поиск опций. Некоторые пользовательские настройки, выбранные вами ранее, не отображаются в данном меню, но они все еще активны.
+
+Если вы продолжите, некоторые настройки могут быть изменены."
+ "Прямые чаты"
+ "Индивидуальные настройки для каждого чата"
+ "При обновлении настроек уведомления произошла ошибка."
+ "Все сообщения"
+ "Только упоминания и ключевые слова"
+ "Уведомлять меня в личных чатах"
+ "Уведомлять меня в групповых чатах"
+ "Включить уведомления на данном устройстве"
+ "Конфигурация не была исправлена, попробуйте еще раз."
+ "Групповые чаты"
+ "Упоминания"
+ "Все"
+ "Упоминания"
+ "Уведомить меня"
+ "Уведомить меня в @room"
+ "Чтобы получать уведомления, измените свой %1$s."
+ "настройки системы"
+ "Системные уведомления выключены"
+ "Уведомления"
diff --git a/features/preferences/impl/src/main/res/values-sk/translations.xml b/features/preferences/impl/src/main/res/values-sk/translations.xml
index 2e1dc22b93..b1de800205 100644
--- a/features/preferences/impl/src/main/res/values-sk/translations.xml
+++ b/features/preferences/impl/src/main/res/values-sk/translations.xml
@@ -12,4 +12,31 @@
"Nepodarilo sa aktualizovať profil"
"Upraviť profil"
"Aktualizácia profilu…"
+ "Ďalšie nastavenia"
+ "Audio a video hovory"
+ "Nezhoda konfigurácie"
+ "Zjednodušili sme Nastavenia oznámení, aby ste ľahšie našli možnosti.
+
+Niektoré vlastné nastavenia, ktoré ste si nastavili v minulosti, sa tu nezobrazujú, ale sú stále aktívne.
+
+Ak budete pokračovať, niektoré z vašich nastavení sa môžu zmeniť."
+ "Priame konverzácie"
+ "Vlastné nastavenie pre konverzácie"
+ "Pri aktualizácii nastavenia oznámenia došlo k chybe."
+ "Všetky správy"
+ "Iba zmienky a kľúčové slová"
+ "Pri priamych rozhovoroch ma upozorniť na"
+ "Pri skupinových rozhovoroch ma upozorniť na"
+ "Povoliť oznámenia na tomto zariadení"
+ "Konfigurácia nebola opravená, skúste to prosím znova."
+ "Skupinové rozhovory"
+ "Zmienky"
+ "Všetky"
+ "Zmienky"
+ "Upozorniť ma na"
+ "Upozorniť ma na @miestnosť"
+ "Ak chcete dostávať oznámenia, zmeňte prosím svoje %1$s."
+ "nastavenia systému"
+ "Systémové oznámenia sú vypnuté"
+ "Oznámenia"
diff --git a/features/preferences/impl/src/main/res/values-zh-rTW/translations.xml b/features/preferences/impl/src/main/res/values-zh-rTW/translations.xml
index 046e820a51..1282f45e4a 100644
--- a/features/preferences/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/features/preferences/impl/src/main/res/values-zh-rTW/translations.xml
@@ -6,4 +6,16 @@
"無法更新個人檔案"
"編輯個人檔案"
"正在更新個人檔案…"
+ "其他設定"
+ "私訊"
+ "更新通知設定時發生錯誤。"
+ "所有訊息"
+ "僅限提及與關鍵字"
+ "在這個裝置上開啟通知"
+ "群組聊天"
+ "提及"
+ "提及"
+ "系統設定"
+ "已關閉系統通知"
+ "通知"
diff --git a/features/preferences/impl/src/main/res/values/localazy.xml b/features/preferences/impl/src/main/res/values/localazy.xml
index 1ca7071436..153c64f661 100644
--- a/features/preferences/impl/src/main/res/values/localazy.xml
+++ b/features/preferences/impl/src/main/res/values/localazy.xml
@@ -12,4 +12,29 @@
"Unable to update profile"
"Edit profile"
"Updating profile…"
+ "Additional settings"
+ "Audio and video calls"
+ "Configuration mismatch"
+ "We’ve simplified Notifications Settings to make options easier to find. Some custom settings you’ve chosen in the past are not shown here, but they’re still active.
+
+If you proceed, some of your settings may change."
+ "Direct chats"
+ "Custom setting per chat"
+ "An error occurred while updating the notification setting."
+ "All messages"
+ "Mentions and Keywords only"
+ "On direct chats, notify me for"
+ "On group chats, notify me for"
+ "Enable notifications on this device"
+ "The configuration has not been corrected, please try again."
+ "Group chats"
+ "Mentions"
+ "All"
+ "Mentions"
+ "Notify me for"
+ "Notify me on @room"
+ "To receive notifications, please change your %1$s."
+ "system settings"
+ "System notifications turned off"
+ "Notifications"
diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt
index b9b8566d4a..d3c830a821 100644
--- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt
+++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt
@@ -21,6 +21,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
+import io.element.android.features.rageshake.api.R
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
import io.element.android.libraries.designsystem.components.preferences.PreferenceSlide
import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch
@@ -43,7 +44,7 @@ fun RageshakePreferencesView(
}
Column(modifier = modifier) {
- PreferenceCategory(title = stringResource(id = CommonStrings.settings_rageshake)) {
+ PreferenceCategory(title = stringResource(id = R.string.settings_rageshake)) {
if (state.isSupported) {
PreferenceSwitch(
title = stringResource(id = CommonStrings.preference_rageshake),
@@ -51,7 +52,7 @@ fun RageshakePreferencesView(
onCheckedChange = ::onEnabledChanged
)
PreferenceSlide(
- title = stringResource(id = CommonStrings.settings_rageshake_detection_threshold),
+ title = stringResource(id = R.string.settings_rageshake_detection_threshold),
// summary = stringResource(id = CommonStrings.settings_rageshake_detection_threshold_summary),
value = state.sensitivity,
enabled = state.isEnabled,
diff --git a/features/rageshake/api/src/main/res/values-cs/translations.xml b/features/rageshake/api/src/main/res/values-cs/translations.xml
index 59e4448ba6..7a48cf84db 100644
--- a/features/rageshake/api/src/main/res/values-cs/translations.xml
+++ b/features/rageshake/api/src/main/res/values-cs/translations.xml
@@ -2,4 +2,6 @@
"%1$s havaroval při posledním použití. Chcete se s námi podělit o zprávu o selhání?"
"Zdá se, že frustrovaně třesete telefonem. Chcete nahlásit chybu?"
+ "Rageshake"
+ "Práh detekce"
diff --git a/features/rageshake/api/src/main/res/values-de/translations.xml b/features/rageshake/api/src/main/res/values-de/translations.xml
index 6cfb4608dc..6a22b4a72c 100644
--- a/features/rageshake/api/src/main/res/values-de/translations.xml
+++ b/features/rageshake/api/src/main/res/values-de/translations.xml
@@ -1,4 +1,6 @@
"%1$s ist bei der letzten Nutzung abgestürzt. Möchtest du einen Absturzbericht mit uns teilen?"
+ "Rageshake"
+ "Erkennungsschwelle"
diff --git a/features/rageshake/api/src/main/res/values-es/translations.xml b/features/rageshake/api/src/main/res/values-es/translations.xml
index 597ec74260..cc9b1f810d 100644
--- a/features/rageshake/api/src/main/res/values-es/translations.xml
+++ b/features/rageshake/api/src/main/res/values-es/translations.xml
@@ -2,4 +2,6 @@
"%1$s se cerró inesperadamente la última vez que se lo usaste. ¿Quieres compartir un informe de error con nosotros?"
"Parece que sacudes el teléfono con frustración. ¿Quieres abrir la pantalla de informe de errores?"
+ "Agitar con fuerza"
+ "Umbral de detección"
diff --git a/features/rageshake/api/src/main/res/values-fr/translations.xml b/features/rageshake/api/src/main/res/values-fr/translations.xml
index 4b41fdc0cb..e21171120e 100644
--- a/features/rageshake/api/src/main/res/values-fr/translations.xml
+++ b/features/rageshake/api/src/main/res/values-fr/translations.xml
@@ -2,4 +2,6 @@
"%1$s s’est arrêté la dernière fois qu’il a été utilisé. Souhaitez-vous partager un rapport d’incident avec nous ?"
"Vous semblez secouez votre téléphone avec frustration. Souhaitez-vous ouvrir le formulaire pour reporter un problème?"
+ "Rageshake"
+ "Seuil de détection"
diff --git a/features/rageshake/api/src/main/res/values-it/translations.xml b/features/rageshake/api/src/main/res/values-it/translations.xml
index 6d5e7a74c0..d9580064c7 100644
--- a/features/rageshake/api/src/main/res/values-it/translations.xml
+++ b/features/rageshake/api/src/main/res/values-it/translations.xml
@@ -2,4 +2,6 @@
"%1$s si è chiuso inaspettatamente l\'ultima volta che è stato usato. Vuoi condividere con noi un rapporto sull\'arresto anomalo?"
"Sembra che tu stia scuotendo il telefono per la frustrazione. Vuoi aprire la schermata di segnalazione dei problemi?"
+ "Rageshake"
+ "Soglia di rilevamento"
diff --git a/features/rageshake/api/src/main/res/values-ro/translations.xml b/features/rageshake/api/src/main/res/values-ro/translations.xml
index 2c89703deb..67a72e3d55 100644
--- a/features/rageshake/api/src/main/res/values-ro/translations.xml
+++ b/features/rageshake/api/src/main/res/values-ro/translations.xml
@@ -2,4 +2,6 @@
"%1$s s-a blocat ultima dată când a fost folosit. Doriți să ne trimiteți un raport?"
"Se pare că scuturați telefonul de frustrare. Doriți să deschdeți ecranul de raportare a unei erori?"
+ "Rageshake"
+ "Prag de detecție"
diff --git a/features/rageshake/api/src/main/res/values-ru/translations.xml b/features/rageshake/api/src/main/res/values-ru/translations.xml
index d45ecb192d..24ba792de6 100644
--- a/features/rageshake/api/src/main/res/values-ru/translations.xml
+++ b/features/rageshake/api/src/main/res/values-ru/translations.xml
@@ -2,4 +2,6 @@
"При последнем использовании %1$s произошел сбой. Хотите поделиться отчетом о сбое?"
"Похоже, что вы трясете телефон. Хотите открыть экран сообщения об ошибке?"
+ "Rageshake"
+ "Порог обнаружения"
diff --git a/features/rageshake/api/src/main/res/values-sk/translations.xml b/features/rageshake/api/src/main/res/values-sk/translations.xml
index c1d55eab34..69eca0738c 100644
--- a/features/rageshake/api/src/main/res/values-sk/translations.xml
+++ b/features/rageshake/api/src/main/res/values-sk/translations.xml
@@ -2,4 +2,6 @@
"%1$s zlyhal pri poslednom použití. Chcete zdieľať správu o páde s našim tímom?"
"Zdá sa, že zúrivo trasiete telefónom. Chcete otvoriť obrazovku s hlásením chýb?"
+ "Zúrivé potrasenie"
+ "Prahová hodnota detekcie"
diff --git a/features/rageshake/api/src/main/res/values/localazy.xml b/features/rageshake/api/src/main/res/values/localazy.xml
index bb694f2d00..f2d86ab45b 100644
--- a/features/rageshake/api/src/main/res/values/localazy.xml
+++ b/features/rageshake/api/src/main/res/values/localazy.xml
@@ -2,4 +2,6 @@
"%1$s crashed the last time it was used. Would you like to share a crash report with us?"
"You seem to be shaking the phone in frustration. Would you like to open the bug report screen?"
+ "Rageshake"
+ "Detection threshold"
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt
index 96372c0e65..cdb46a2fcc 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt
@@ -156,14 +156,14 @@ private fun RoomSpecificNotificationSettingsView(
AsyncView(
async = state.setNotificationSettingAction,
onSuccess = {},
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(RoomNotificationSettingsEvents.ClearSetNotificationError) },
)
AsyncView(
async = state.restoreDefaultAction,
onSuccess = {},
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(RoomNotificationSettingsEvents.ClearRestoreDefaultError) },
)
}
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt
index 88a4b8a0a1..f66c5d8b9b 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt
@@ -41,7 +41,6 @@ import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.CommonDrawables
-import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun UserDefinedRoomNotificationSettingsView(
@@ -88,14 +87,14 @@ fun UserDefinedRoomNotificationSettingsView(
AsyncView(
async = state.setNotificationSettingAction,
onSuccess = {},
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(RoomNotificationSettingsEvents.ClearSetNotificationError) },
)
AsyncView(
async = state.restoreDefaultAction,
onSuccess = { onBackPressed() },
- errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
+ errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(RoomNotificationSettingsEvents.ClearRestoreDefaultError) },
)
}
diff --git a/features/roomdetails/impl/src/main/res/values-cs/translations.xml b/features/roomdetails/impl/src/main/res/values-cs/translations.xml
index b02fcbc8e8..110257d6ae 100644
--- a/features/roomdetails/impl/src/main/res/values-cs/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-cs/translations.xml
@@ -5,6 +5,7 @@
- "%1$d osoby"
- "%1$d osob"
+ "Při aktualizaci nastavení oznámení došlo k chybě."
"Přidat téma"
"Již členem"
"Již pozván(a)"
diff --git a/features/roomdetails/impl/src/main/res/values-de/translations.xml b/features/roomdetails/impl/src/main/res/values-de/translations.xml
index 5f0d558820..9589c06a1e 100644
--- a/features/roomdetails/impl/src/main/res/values-de/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-de/translations.xml
@@ -4,6 +4,7 @@
- "%1$d Person"
- "%1$d Personen"
+ "Beim Aktualisieren der Benachrichtigungseinstellungen ist ein Fehler aufgetreten."
"Thema hinzufügen"
"Bereits Mitglied"
"Bereits eingeladen"
diff --git a/features/roomdetails/impl/src/main/res/values-fr/translations.xml b/features/roomdetails/impl/src/main/res/values-fr/translations.xml
index f899a58873..d2b7f22292 100644
--- a/features/roomdetails/impl/src/main/res/values-fr/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-fr/translations.xml
@@ -4,6 +4,7 @@
- "%1$d personne"
- "%1$d personnes"
+ "Une erreur s’est produite lors de la mise à jour du paramètre de notification."
"Ajouter un sujet"
"Déjà membre"
"Déjà invité(e)"
diff --git a/features/roomdetails/impl/src/main/res/values-ro/translations.xml b/features/roomdetails/impl/src/main/res/values-ro/translations.xml
index 958058432a..1a78709241 100644
--- a/features/roomdetails/impl/src/main/res/values-ro/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-ro/translations.xml
@@ -4,6 +4,7 @@
- "o persoană"
- "%1$d persoane"
+ "A apărut o eroare în timpul actualizării setărilor pentru notificari."
"Adăugare subiect"
"Deja membru"
"Deja invitat"
diff --git a/features/roomdetails/impl/src/main/res/values-ru/translations.xml b/features/roomdetails/impl/src/main/res/values-ru/translations.xml
index d8e15924cc..38a8835251 100644
--- a/features/roomdetails/impl/src/main/res/values-ru/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-ru/translations.xml
@@ -5,6 +5,7 @@
- "%1$d пользователя"
- "%1$d пользователей"
+ "При обновлении настроек уведомления произошла ошибка."
"Добавить тему"
"Уже зарегистрирован"
"Уже приглашены"
diff --git a/features/roomdetails/impl/src/main/res/values-sk/translations.xml b/features/roomdetails/impl/src/main/res/values-sk/translations.xml
index 0cdd7b3b0c..edaf50d915 100644
--- a/features/roomdetails/impl/src/main/res/values-sk/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-sk/translations.xml
@@ -5,6 +5,7 @@
- "%1$d osoby"
- "%1$d osôb"
+ "Pri aktualizácii nastavenia oznámenia došlo k chybe."
"Pridať tému"
"Už ste členom"
"Už ste pozvaní"
diff --git a/features/roomdetails/impl/src/main/res/values-zh-rTW/translations.xml b/features/roomdetails/impl/src/main/res/values-zh-rTW/translations.xml
index 71ed1df861..50202c0e81 100644
--- a/features/roomdetails/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-zh-rTW/translations.xml
@@ -3,6 +3,7 @@
- "%1$d 位夥伴"
+ "更新通知設定時發生錯誤。"
"新增主題"
"已是成員"
"已邀請"
diff --git a/features/roomdetails/impl/src/main/res/values/localazy.xml b/features/roomdetails/impl/src/main/res/values/localazy.xml
index 833b06ca40..70c31ac65e 100644
--- a/features/roomdetails/impl/src/main/res/values/localazy.xml
+++ b/features/roomdetails/impl/src/main/res/values/localazy.xml
@@ -4,6 +4,7 @@
- "%1$d person"
- "%1$d people"
+ "An error occurred while updating the notification setting."
"Add topic"
"Already a member"
"Already invited"
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt
index a437dd339c..a1fa410c7f 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt
+++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt
@@ -36,7 +36,6 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextOverflow
@@ -47,8 +46,8 @@ import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvid
import io.element.android.libraries.core.extensions.orEmpty
import io.element.android.libraries.designsystem.atomic.atoms.UnreadIndicatorAtom
import io.element.android.libraries.designsystem.components.avatar.Avatar
-import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.preview.ElementPreview
+import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.roomListRoomMessage
@@ -58,7 +57,6 @@ import io.element.android.libraries.designsystem.theme.unreadIndicator
import io.element.android.libraries.designsystem.utils.CommonDrawables
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.theme.ElementTheme
-import io.element.android.libraries.ui.strings.CommonStrings
internal val minHeight = 84.dp
@@ -200,14 +198,14 @@ private fun NotificationIcon(room: RoomListRoomSummary) {
RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY ->
Icon(
modifier = Modifier.size(16.dp),
- contentDescription = stringResource(CommonStrings.screen_notification_settings_mode_mentions),
+ contentDescription = null,
imageVector = ImageVector.vectorResource(CommonDrawables.ic_compound_mention),
tint = tint,
)
RoomNotificationMode.MUTE ->
Icon(
modifier = Modifier.size(16.dp),
- contentDescription = stringResource(CommonStrings.common_mute),
+ contentDescription = null,
imageVector = ImageVector.vectorResource(CommonDrawables.ic_compound_notifications_solid_off),
tint = tint,
)
diff --git a/libraries/push/impl/build.gradle.kts b/libraries/push/impl/build.gradle.kts
index 05f552dd9a..c67d805fb6 100644
--- a/libraries/push/impl/build.gradle.kts
+++ b/libraries/push/impl/build.gradle.kts
@@ -36,6 +36,7 @@ dependencies {
implementation(libs.serialization.json)
implementation(libs.coil)
+ implementation(projects.appconfig)
implementation(projects.libraries.architecture)
implementation(projects.libraries.core)
implementation(projects.libraries.designsystem)
diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt
index b49f8f4299..d2650f853d 100644
--- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt
+++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt
@@ -17,6 +17,7 @@
package io.element.android.libraries.push.impl
import com.squareup.anvil.annotations.ContributesBinding
+import io.element.android.appconfig.PushConfig
import io.element.android.libraries.core.log.logger.LoggerTag
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.di.AppScope
@@ -24,7 +25,6 @@ import io.element.android.libraries.matrix.api.MatrixClient
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.pusher.SetHttpPusherData
-import io.element.android.libraries.push.impl.config.PushConfig
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
import io.element.android.libraries.pushproviders.api.PusherSubscriber
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
diff --git a/libraries/ui-strings/src/main/res/values-cs/translations.xml b/libraries/ui-strings/src/main/res/values-cs/translations.xml
index a1d01dc467..ddb7b09671 100644
--- a/libraries/ui-strings/src/main/res/values-cs/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml
@@ -135,6 +135,7 @@
"Obnovování…"
"Odpověď na %1$s"
"Nahlásit chybu"
+ "Nahlásit problém"
"Zpráva odeslána"
"Editor formátovaného textu"
"Místnost"
@@ -173,19 +174,10 @@
"Hlasová zpráva"
"Čekání…"
"Čekání na dešifrovací klíč"
- "Nahlásit problém"
"Opravdu chcete ukončit toto hlasování?"
"Hlasování: %1$s"
"Potvrzení"
"Upozornění"
- "Aktivity"
- "Vlajky"
- "Jídlo a nápoje"
- "Zvířata a příroda"
- "Předměty"
- "Smajlíci a lidé"
- "Cestování a místa"
- "Symboly"
"Vytvoření trvalého odkazu se nezdařilo"
"%1$s nemohl načíst mapu. Zkuste to prosím později."
"Načítání zpráv se nezdařilo"
@@ -198,9 +190,6 @@
"Omlouváme se, došlo k chybě"
"🔐️ Připojte se ke mně na %1$s"
"Ahoj, ozvi se mi na %1$s: %2$s"
- "Opravdu chcete opustit tuto místnost? Jste tu jediná osoba. Pokud odejdete, nikdo se v budoucnu nebude moci připojit, včetně vás."
- "Opravdu chcete opustit tuto místnost? Tato místnost není veřejná a bez pozvánky se nebudete moci znovu připojit."
- "Opravdu chcete opustit místnost?"
"%1$s Android"
- "zadána %1$d číslice"
@@ -218,43 +207,12 @@
- "%d hlasů"
"Zatřeste zařízením pro nahlášení chyby"
- "Tato zpráva bude nahlášena správci vašeho domovského serveru. Nebude si moci přečíst žádné šifrované zprávy."
- "Důvod nahlášení tohoto obsahu"
"Toto je začátek %1$s."
"Toto je začátek této konverzace."
"Nové"
- "Sdílet analytická data"
"Výběr média se nezdařil, zkuste to prosím znovu."
"Nahrání média se nezdařilo, zkuste to prosím znovu."
"Nahrání média se nezdařilo, zkuste to prosím znovu."
- "Další nastavení"
- "Halsové a video hovory"
- "Neshoda konfigurace"
- "Zjednodušili jsme nastavení oznámení, abychom usnadnili hledání možností.
-
-Některá vlastní nastavení, která jste si vybrali v minulosti, se zde nezobrazují, ale jsou stále aktivní.
-
-Pokud budete pokračovat, některá nastavení se mohou změnit."
- "Přímé zprávy"
- "Vlastní nastavení pro chat"
- "Při aktualizaci nastavení oznámení došlo k chybě."
- "Všechny zprávy"
- "Pouze zmínky a klíčová slova"
- "V přímých zprávách mě upozornit na"
- "Ve skupinových chatech mě upozornit na"
- "Povolit oznámení na tomto zařízení"
- "Konfigurace nebyla opravena, zkuste to prosím znovu."
- "Skupinové chaty"
- "Zmínky"
- "Vše"
- "Zmínky"
- "Upozornit mě na"
- "Upozornit mě na @room"
- "Chcete-li dostávat oznámení, změňte prosím svůj %1$s."
- "systémová nastavení"
- "Systémová oznámení byla vypnuta"
- "Oznámení"
- "Zaškrtněte, pokud chcete skrýt všechny aktuální a budoucí zprávy od tohoto uživatele"
"Sdílet polohu"
"Sdílet moji polohu"
"Otevřít v Mapách Apple"
@@ -262,14 +220,8 @@ Pokud budete pokračovat, některá nastavení se mohou změnit."
"Otevřít v OpenStreetMap"
"Sdílet tuto polohu"
"Poloha"
- "Rageshake"
- "Práh detekce"
"Verze: %1$s (%2$s)"
"en"
"Chyba"
"Úspěch"
- "Sdílejte anonymní údaje o používání, které nám pomohou identifikovat problémy."
- "Můžete si přečíst všechny naše podmínky %1$s."
- "zde"
- "Zablokovat uživatele"
diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml
index dd84815254..2fa0c20ff5 100644
--- a/libraries/ui-strings/src/main/res/values-de/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-de/translations.xml
@@ -155,14 +155,6 @@
"Umfrage: %1$s"
"Bestätigung"
"Warnung"
- "Aktivitäten"
- "Flaggen"
- "Essen & Trinken"
- "Tiere & Natur"
- "Objekte"
- "Smileys & Menschen"
- "Reisen & Orte"
- "Symbole"
"Fehler beim Erstellen des Permalinks"
"%1$s konnte die Karte nicht laden. Bitte versuche es später erneut."
"Fehler beim Laden der Nachrichten"
@@ -173,9 +165,6 @@
"Entschuldigung, es ist ein Fehler aufgetreten"
"🔐️ Begleite mich auf %1$s"
"Hey, sprich mit mir auf %1$s: %2$s"
- "Bist du sicher, dass du diesen Raum verlassen möchtest? Du bist die einzige Person hier. Wenn du austritst, kann in Zukunft niemand mehr eintreten, auch du nicht."
- "Bist du sicher, dass du diesen Raum verlassen möchtest? Dieser Raum ist nicht öffentlich und du kannst ihm ohne Einladung nicht erneut beitreten."
- "Bist du sicher, dass du den Raum verlassen willst?"
"%1$s Android"
- "%1$d Mitglied"
@@ -186,39 +175,12 @@
- "%d Stimmen"
"Schüttel heftig zum Melden von Fehlern"
- "Diese Meldung wird an den Administrator deines Homeservers weitergeleitet. Dieser kann keine verschlüsselten Nachrichten lesen."
- "Grund für die Meldung dieses Inhalts"
"Dies ist der Anfang von %1$s."
"Dies ist der Anfang dieses Gesprächs."
"Neu"
- "Analysedaten teilen"
"Medienauswahl fehlgeschlagen, bitte versuche es erneut."
"Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut."
"Das Hochladen der Medien ist fehlgeschlagen. Bitte versuche es erneut."
- "Zusätzliche Einstellungen"
- "Audio- und Videoanrufe"
- "Konfiguration stimmt nicht überein"
- "Wir haben die Einstellungen für Benachrichtigungen vereinfacht, damit die Optionen leichter zu finden sind. Einige benutzerdefinierte Einstellungen, die du in der Vergangenheit gewählt hast, werden hier nicht angezeigt, sind aber immer noch aktiv. Wenn du fortfährst, können sich einige deiner Einstellungen ändern."
- "Direkte Chats"
- "Benutzerdefinierte Einstellung pro Chat"
- "Beim Aktualisieren der Benachrichtigungseinstellungen ist ein Fehler aufgetreten."
- "Alle Nachrichten"
- "Nur Erwähnungen und Schlüsselwörter"
- "Bei direkten Chats, benachrichtige mich bei"
- "Bei Gruppenchats benachrichtige mich bei"
- "Benachrichtigungen auf diesem Gerät aktivieren"
- "Die Konfiguration wurde nicht korrigiert, bitte versuche es erneut."
- "Gruppenchats"
- "Erwähnungen"
- "Alle"
- "Erwähnungen"
- "Benachrichtige mich bei"
- "Benachrichtige mich bei @room"
- "Um Benachrichtigungen zu erhalten, ändere bitte deine %1$s."
- "Systemeinstellungen"
- "Systembenachrichtigungen deaktiviert"
- "Benachrichtigungen"
- "Prüfe, ob du alle aktuellen und zukünftigen Nachrichten dieses Benutzers ausblenden möchtest"
"Standort teilen"
"Meinen Standort teilen"
"In Apple Maps öffnen"
@@ -226,14 +188,8 @@
"In OpenStreetMap öffnen"
"Diesen Standort teilen"
"Standort"
- "Rageshake"
- "Erkennungsschwelle"
"Version: %1$s (%2$s)"
"en"
"Fehler"
"Erfolg"
- "Teile anonyme Nutzungsdaten, um uns bei der Identifizierung von Problemen zu helfen."
- "Du kannst alle unsere Bedingungen lesen %1$s."
- "hier"
- "Benutzer sperren"
diff --git a/libraries/ui-strings/src/main/res/values-es/translations.xml b/libraries/ui-strings/src/main/res/values-es/translations.xml
index 8bc500d7fe..f901b48cb3 100644
--- a/libraries/ui-strings/src/main/res/values-es/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-es/translations.xml
@@ -94,39 +94,22 @@
"Esperando…"
"Confirmar"
"Atención"
- "Actividades"
- "Banderas"
- "Comida y bebida"
- "Animales y naturaleza"
- "Objetos"
- "Emojis y personas"
- "Viajes y lugares"
- "Símbolos"
"No se pudo crear el enlace permanente"
"Error al cargar mensajes"
"Algunos mensajes no se han enviado"
"Lo siento, se ha producido un error"
"Hola, puedes hablar conmigo en %1$s: %2$s"
- "¿Estás seguro de que quieres salir de esta sala? Eres la única persona aquí. Si te vas, nadie podrá unirse en el futuro, ni siquiera tú."
- "¿Estás seguro de que quieres abandonar esta sala? Esta sala no es pública y no podrás volver a entrar sin una invitación."
- "¿Seguro que quieres salir de la habitación?"
"%1$s Android"
- "%1$d miembro"
- "%1$d miembros"
"Agitar con fuerza para informar de un error"
- "Este mensaje se notificará al administrador de su homeserver. No podrán leer ningún mensaje cifrado."
- "Motivo para denunciar este contenido"
"Este es el principio de %1$s."
"Este es el principio de esta conversación."
"Nuevos"
- "Marque si quieres ocultar todos los mensajes actuales y futuros de este usuario"
- "Agitar con fuerza"
- "Umbral de detección"
"Versión: %1$s (%2$s)"
"es"
"Error"
"Terminado"
- "Bloquear usuario"
diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml
index f655b1eafa..cc0adae38d 100644
--- a/libraries/ui-strings/src/main/res/values-fr/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml
@@ -176,14 +176,6 @@
"Sondage : %1$s"
"Confirmation"
"Attention"
- "Activités"
- "Drapeaux"
- "Nourriture et boissons"
- "Animaux et nature"
- "Objets"
- "Émoticônes et personnes"
- "Voyages & lieux"
- "Symboles"
"Échec de la création du permalien"
"%1$s n’a pas pu charger la carte. Veuillez réessayer ultérieurement."
"Échec du chargement des messages"
@@ -196,9 +188,6 @@
"Désolé, une erreur s’est produite"
"🔐️ Rejoignez-moi sur %1$s"
"Salut, parle-moi sur %1$s : %2$s"
- "Êtes-vous sûr de vouloir quitter ce salon ? Vous êtes la seule personne ici. Si vous partez, personne ne pourra rejoindre le salon à l’avenir, y compris vous."
- "Êtes-vous sûr de vouloir quitter ce salon ? Ce salon n’est pas public et vous ne pourrez pas le rejoindre sans invitation."
- "Êtes-vous sûr de vouloir quitter le salon ?"
"%1$s Android"
- "%1$d chiffre saisi"
@@ -213,43 +202,12 @@
- "%d votes"
"Rageshake pour signaler un problème"
- "Ce message sera signalé à l’administrateur de votre serveur d’accueil. Il ne pourra lire aucun message chiffré."
- "Raison du signalement de ce contenu"
"Ceci est le début de %1$s."
"Ceci est le début de cette conversation."
"Nouveau"
- "Partagez des données de statistiques d’utilisation"
"Échec de la sélection du média, veuillez réessayer."
"Échec du traitement des médias à télécharger, veuillez réessayer."
"Échec du téléchargement du média, veuillez réessayer."
- "Réglages supplémentaires"
- "Appels audio et vidéo"
- "Incompatibilité de configuration"
- "Nous avons simplifié les paramètres des notifications pour que les options soient plus faciles à trouver.
-
-Certains paramètres personnalisés que vous avez choisis par le passé ne sont pas affichés ici, mais ils sont toujours actifs.
-
-Si vous continuez, il est possible que certains de vos paramètres soient modifiés."
- "Discussions directes"
- "Paramétrage personnalisé par salon"
- "Une erreur s’est produite lors de la mise à jour du paramètre de notification."
- "Tous les messages"
- "Mentions et mots clés uniquement"
- "Sur les discussions directes, prévenez-moi pour"
- "Lors de discussions de groupe, prévenez-moi pour"
- "Activer les notifications sur cet appareil"
- "La configuration n’a pas été corrigée, veuillez réessayer."
- "Discussions de groupe"
- "Mentions"
- "Tous"
- "Mentions"
- "Prévenez-moi pour"
- "Prévenez-moi si un message contient \"@room\""
- "Pour recevoir des notifications, veuillez modifier votre %1$s."
- "paramètres du système"
- "Les notifications du système sont désactivées"
- "Notifications"
- "Cochez si vous souhaitez masquer tous les messages actuels et futurs de cet utilisateur."
"Partage de position"
"Partager ma position"
"Ouvrir dans Apple Maps"
@@ -257,14 +215,8 @@ Si vous continuez, il est possible que certains de vos paramètres soient modifi
"Ouvrir dans OpenStreetMap"
"Partager cet position"
"Position"
- "Rageshake"
- "Seuil de détection"
"Version : %1$s ( %2$s )"
"Ang."
"Erreur"
"Succès"
- "Partagez des données d’utilisation anonymes pour nous aider à identifier les problèmes."
- "Vous pouvez lire toutes nos conditions %1$s."
- "ici"
- "Bloquer l’utilisateur"
diff --git a/libraries/ui-strings/src/main/res/values-it/translations.xml b/libraries/ui-strings/src/main/res/values-it/translations.xml
index 303ab94c50..e8e35c284e 100644
--- a/libraries/ui-strings/src/main/res/values-it/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-it/translations.xml
@@ -94,39 +94,22 @@
"In attesa…"
"Conferma"
"Attenzione"
- "Attività"
- "Bandiere"
- "Cibi & Bevande"
- "Animali & Natura"
- "Oggetti"
- "Faccine & Persone"
- "Viaggi & Luoghi"
- "Simboli"
"Impossibile creare il collegamento permanente"
"Caricamento dei messaggi non riuscito"
"Alcuni messaggi non sono stati inviati"
"Siamo spiacenti, si è verificato un errore"
"Ehi, parlami su %1$s: %2$s"
- "Sei sicuro di voler lasciare questa stanza? Sei l\'unica persona presente. Se esci, nessuno potrà unirsi in futuro, te compreso."
- "Sei sicuro di voler lasciare questa stanza? Questa stanza non è pubblica e non potrai rientrare senza un invito."
- "Sei sicuro di voler lasciare la stanza?"
"%1$s Android"
- "%1$d membro"
- "%1$d membri"
"Scuoti per segnalare un problema"
- "Questo messaggio verrà segnalato all\'amministratore dell\'homeserver. Questi non sarà in grado di leggere i messaggi criptati."
- "Motivo della segnalazione di questo contenuto"
"Questo è l\'inizio di %1$s."
"Questo è l\'inizio della conversazione."
"Nuovo"
- "Seleziona se vuoi nascondere tutti i messaggi attuali e futuri di questo utente"
- "Rageshake"
- "Soglia di rilevamento"
"Versione: %1$s (%2$s)"
"it"
"Errore"
"Operazione riuscita"
- "Blocca utente"
diff --git a/libraries/ui-strings/src/main/res/values-ro/translations.xml b/libraries/ui-strings/src/main/res/values-ro/translations.xml
index 566133a6a5..863d4cd097 100644
--- a/libraries/ui-strings/src/main/res/values-ro/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ro/translations.xml
@@ -137,14 +137,6 @@
"Se aşteaptă…"
"Confirmare"
"Avertisment"
- "Activități"
- "Steaguri"
- "Mâncare & Băutură"
- "Animale și Natură"
- "Obiecte"
- "Fețe zâmbitoare & Oameni"
- "Călătorii & Locuri"
- "Simboluri"
"Crearea permalink-ului a eșuat"
"%1$s nu a putut încărca harta. Vă rugăm să încercați din nou mai târziu."
"Încărcarea mesajelor a eșuat"
@@ -155,9 +147,6 @@
"Ne pare rău, a apărut o eroare"
"🔐️ Alăturați-vă mie pe %1$s"
"Hei, vorbește cu mine pe %1$s: %2$s"
- "Sunteți sigur că vreți să părăsiți această cameră? Sunteți singura persoană de aici. Dacă o părasiți, nimeni nu se va mai putea alătura în viitor, inclusiv dumneavoastra."
- "Sunteți sigur că vrei să părăsiți această cameră? Această cameră nu este publică și nu va veti putea alătura din nou fără o invitație."
- "Sunteți sigur că vreți să părăsiți camera?"
"%1$s Android"
- "%1$d membru"
@@ -170,43 +159,12 @@
- "%d voturi"
"Rageshake pentru a raporta erori"
- "Acest mesaj va fi raportat administratorilor homeserver-ului tau. Ei nu vor putea citi niciun mesaj criptat."
- "Motivul raportării acestui conținut"
"Acesta este începutul conversației %1$s."
"Acesta este începutul acestei conversații."
"Nou"
- "Partajați datele analitice"
"Selectarea fișierelor media a eșuat, încercați din nou."
"Procesarea datelor media a eșuat, vă rugăm să încercați din nou."
"Încărcarea fișierelor media a eșuat, încercați din nou."
- "Setări adiționale"
- "Apeluri audio și video"
- "Nepotrivire de configurație"
- "Am simplificat Setările pentru notificări pentru a face opțiunile mai ușor de găsit.
-
-Unele setări personalizate pe care le-ați ales în trecut nu sunt afișate aici, dar sunt încă active.
-
-Dacă continuați, unele dintre setările dumneavoastră pot fi modificate."
- "Discuții directe"
- "Setare personalizată per chat"
- "A apărut o eroare în timpul actualizării setărilor pentru notificari."
- "Toate mesajele"
- "Numai mențiuni și cuvinte cheie"
- "În conversațiile directe, anunță-mă pentru"
- "În conversațiile de grup, anunțați-mă pentru"
- "Activați notificările pe acest dispozitiv"
- "Configurația nu a fost corectată, vă rugăm să încercați din nou."
- "Discuții de grup"
- "Mențiuni"
- "Toate"
- "Mențiuni"
- "Anunță-mă pentru"
- "Anunțați-mă pentru @room"
- "Pentru a primi notificări, vă rugăm să vă schimbați %1$s."
- "Setări de sistem"
- "Notificările de sistem sunt dezactivate"
- "Notificări"
- "Confirmați că doriți să ascundeți toate mesajele curente și viitoare de la acest utilizator"
"Partajați locația"
"Distribuiți locația mea"
"Deschideți în Apple Maps"
@@ -214,14 +172,8 @@ Dacă continuați, unele dintre setările dumneavoastră pot fi modificate.""Deschideți în OpenStreetMap"
"Distribuiți această locație"
"Locație"
- "Rageshake"
- "Prag de detecție"
"Versiunea: %1$s (%2$s)"
"ro"
"Eroare"
"Succes"
- "Distribuiți date anonime de utilizare pentru a ne ajuta să identificăm probleme."
- "Puteți citi toate condițiile noastre %1$s."
- "aici"
- "Blocați utilizatorul"
diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml
index 7f94e7e05b..87f4d74201 100644
--- a/libraries/ui-strings/src/main/res/values-ru/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml
@@ -136,6 +136,7 @@
"Обновление…"
"Отвечает на %1$s"
"Сообщить об ошибке"
+ "Сообщить о проблеме"
"Отчет отправлен"
"Редактор форматированного текста"
"Комната"
@@ -174,20 +175,11 @@
"Голосовое сообщение"
"Ожидание…"
"Ожидание ключа расшифровки"
- "Сообщить о проблеме"
"Вы действительно хотите завершить данный опрос?"
"Опрос: %1$s"
"Подтверждение устройства"
"Подтверждение"
"Предупреждение"
- "Деятельность"
- "Флаги"
- "Еда и напитки"
- "Животные и природа"
- "Объекты"
- "Смайлы и люди"
- "Путешествия и места"
- "Символы"
"Не удалось создать постоянную ссылку"
"Не удалось загрузить карту %1$s. Пожалуйста, повторите попытку позже."
"Не удалось загрузить сообщения"
@@ -200,9 +192,6 @@
"Извините, произошла ошибка"
"🔐️ Присоединяйтесь ко мне в %1$s"
"Привет, поговори со мной по %1$s: %2$s"
- "Вы уверены, что хотите покинуть эту комнату? Вы здесь единственный человек. Если вы уйдете, никто не сможет присоединиться в будущем, включая вас."
- "Вы уверены, что хотите покинуть эту комнату? Эта комната не является публичной, и Вы не сможете присоединиться к ней без приглашения."
- "Вы уверены, что хотите покинуть комнату?"
"%1$s Android"
- "Введена цифра %1$d"
@@ -220,41 +209,12 @@
- "%d голосов"
"Rageshake сообщит об ошибке"
- "Это сообщение будет передано администратору вашего домашнего сервера. Они не смогут прочитать зашифрованные сообщения."
- "Причина, по которой вы пожаловались на этот контент"
"Это начало %1$s."
"Это начало разговора."
"Новый"
- "Делитесь данными аналитики"
"Не удалось выбрать носитель, попробуйте еще раз."
"Не удалось обработать медиафайл для загрузки, попробуйте еще раз."
"Не удалось загрузить медиафайлы, попробуйте еще раз."
- "Дополнительные параметры"
- "Аудио и видео звонки"
- "Несоответствие конфигурации"
- "Мы упростили настройки уведомлений, чтобы упростить поиск опций. Некоторые пользовательские настройки, выбранные вами ранее, не отображаются в данном меню, но они все еще активны.
-
-Если вы продолжите, некоторые настройки могут быть изменены."
- "Прямые чаты"
- "Индивидуальные настройки для каждого чата"
- "При обновлении настроек уведомления произошла ошибка."
- "Все сообщения"
- "Только упоминания и ключевые слова"
- "Уведомлять меня в личных чатах"
- "Уведомлять меня в групповых чатах"
- "Включить уведомления на данном устройстве"
- "Конфигурация не была исправлена, попробуйте еще раз."
- "Групповые чаты"
- "Упоминания"
- "Все"
- "Упоминания"
- "Уведомить меня"
- "Уведомить меня в @room"
- "Чтобы получать уведомления, измените свой %1$s."
- "настройки системы"
- "Системные уведомления выключены"
- "Уведомления"
- "Отметьте, хотите ли вы скрыть все текущие и будущие сообщения от этого пользователя"
"Поделиться местоположением"
"Поделиться моим местоположением"
"Открыть в Apple Maps"
@@ -262,14 +222,8 @@
"Открыть в OpenStreetMap"
"Поделиться этим местоположением"
"Местоположение"
- "Rageshake"
- "Порог обнаружения"
"Версия: %1$s (%2$s)"
"en"
"Ошибка"
"Успешно"
- "Предоставлять анонимные данные об использовании, чтобы помочь нам выявить проблемы."
- "Вы можете ознакомиться со всеми нашими условиями %1$s."
- "здесь"
- "Заблокировать пользователя"
diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml
index 5aee90c0c3..4f38c2fb8b 100644
--- a/libraries/ui-strings/src/main/res/values-sk/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml
@@ -136,6 +136,7 @@
"Obnovuje sa…"
"Odpoveď na %1$s"
"Nahlásiť chybu"
+ "Nahlásiť problém"
"Nahlásenie bolo odoslané"
"Rozšírený textový editor"
"Miestnosť"
@@ -174,20 +175,11 @@
"Hlasová správa"
"Čaká sa…"
"Čaká sa na dešifrovací kľúč"
- "Nahlásiť problém"
"Ste si istí, že chcete ukončiť túto anketu?"
"Anketa: %1$s"
"Overiť zariadenie"
"Potvrdenie"
"Upozornenie"
- "Aktivity"
- "Vlajky"
- "Jedlo a nápoje"
- "Zvieratá a príroda"
- "Predmety"
- "Smajlíky a ľudia"
- "Cestovanie a miesta"
- "Symboly"
"Nepodarilo sa vytvoriť trvalý odkaz"
"%1$s nedokázal načítať mapu. Skúste to prosím neskôr."
"Načítanie správ zlyhalo"
@@ -200,9 +192,6 @@
"Prepáčte, vyskytla sa chyba"
"🔐️ Pripojte sa ku mne na %1$s"
"Ahoj, porozprávajte sa so mnou na %1$s: %2$s"
- "Ste si istí, že chcete opustiť túto miestnosť? Ste tu jediná osoba. Ak odídete, nikto sa do nej nebude môcť v budúcnosti pripojiť, vrátane vás."
- "Ste si istí, že chcete opustiť túto miestnosť? Táto miestnosť nie je verejná a bez pozvania sa do nej nebudete môcť vrátiť."
- "Ste si istí, že chcete opustiť miestnosť?"
"%1$s Android"
- "%1$d zadaná číslica"
@@ -220,43 +209,12 @@
- "%d hlasov"
"Zúrivo potriasť pre nahlásenie chyby"
- "Táto správa bude nahlásená správcovi vášho domovského servera. Nebude môcť prečítať žiadne šifrované správy."
- "Dôvod nahlásenia tohto obsahu"
"Toto je začiatok %1$s."
"Toto je začiatok tejto konverzácie."
"Nové"
- "Zdieľať analytické údaje"
"Nepodarilo sa vybrať médium, skúste to prosím znova."
"Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova."
"Nepodarilo sa nahrať médiá, skúste to prosím znova."
- "Ďalšie nastavenia"
- "Audio a video hovory"
- "Nezhoda konfigurácie"
- "Zjednodušili sme Nastavenia oznámení, aby ste ľahšie našli možnosti.
-
-Niektoré vlastné nastavenia, ktoré ste si nastavili v minulosti, sa tu nezobrazujú, ale sú stále aktívne.
-
-Ak budete pokračovať, niektoré z vašich nastavení sa môžu zmeniť."
- "Priame konverzácie"
- "Vlastné nastavenie pre konverzácie"
- "Pri aktualizácii nastavenia oznámenia došlo k chybe."
- "Všetky správy"
- "Iba zmienky a kľúčové slová"
- "Pri priamych rozhovoroch ma upozorniť na"
- "Pri skupinových rozhovoroch ma upozorniť na"
- "Povoliť oznámenia na tomto zariadení"
- "Konfigurácia nebola opravená, skúste to prosím znova."
- "Skupinové rozhovory"
- "Zmienky"
- "Všetky"
- "Zmienky"
- "Upozorniť ma na"
- "Upozorniť ma na @miestnosť"
- "Ak chcete dostávať oznámenia, zmeňte prosím svoje %1$s."
- "nastavenia systému"
- "Systémové oznámenia sú vypnuté"
- "Oznámenia"
- "Označte, či chcete skryť všetky aktuálne a budúce správy od tohto používateľa"
"Zdieľať polohu"
"Zdieľať moju polohu"
"Otvoriť v Apple Maps"
@@ -264,14 +222,8 @@ Ak budete pokračovať, niektoré z vašich nastavení sa môžu zmeniť.""Otvoriť v OpenStreetMap"
"Zdieľajte túto polohu"
"Poloha"
- "Zúrivé potrasenie"
- "Prahová hodnota detekcie"
"Verzia: %1$s (%2$s)"
"sk"
"Chyba"
"Úspech"
- "Zdieľajte anonymné údaje o používaní, aby sme mohli identifikovať problémy."
- "Môžete si prečítať všetky naše podmienky %1$s."
- "tu"
- "Zablokovať používateľa"
diff --git a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
index 37b372f46b..d86a2b0265 100644
--- a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
@@ -152,14 +152,6 @@
"投票:%1$s"
"確認"
"警告"
- "活動"
- "旗幟"
- "食物與飲料"
- "動物與大自然"
- "物品"
- "表情與人物"
- "旅行與景點"
- "標誌"
"無法建立永久連結"
"%1$s無法載入地圖。請稍後再試。"
"無法載入訊息"
@@ -168,9 +160,6 @@
"%1$s 沒有權限存取您的位置。請在下方開啟權限。"
"有些訊息尚未傳送"
"嘿,來 %1$s 和我聊天:%2$s"
- "您確定要離開聊天室嗎?這裡只有您一個人。如果您離開了,包含您在內的所有人都無法再進入此聊天室。"
- "您確定要離開聊天室嗎?此聊天室不是公開的,如果沒有收到邀請,您無法重新加入。"
- "您確定要離開聊天室嗎?"
"%1$s Android"
- "%1$d 位成員"
@@ -178,22 +167,8 @@
- "%d 票"
- "檢舉這個內容的原因"
"新訊息"
- "分享分析數據"
"無法上傳媒體檔案,請稍後再試。"
- "其他設定"
- "私訊"
- "更新通知設定時發生錯誤。"
- "所有訊息"
- "僅限提及與關鍵字"
- "在這個裝置上開啟通知"
- "群組聊天"
- "提及"
- "提及"
- "系統設定"
- "已關閉系統通知"
- "通知"
"分享位置"
"分享我的位置"
"在 Apple Maps 中開啟"
@@ -205,8 +180,4 @@
"zh-tw"
"錯誤"
"成功"
- "分享匿名的使用數據以協助我們釐清問題。"
- "您可以到%1$s閱讀我們的條款。"
- "這裡"
- "封鎖使用者"
diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml
index ec09f81b3d..156b5e5b17 100644
--- a/libraries/ui-strings/src/main/res/values/localazy.xml
+++ b/libraries/ui-strings/src/main/res/values/localazy.xml
@@ -136,6 +136,7 @@
"Refreshing…"
"Replying to %1$s"
"Report a bug"
+ "Report a problem"
"Report submitted"
"Rich text editor"
"Room"
@@ -174,20 +175,11 @@
"Voice message"
"Waiting…"
"Waiting for this message"
- "Report a problem"
"Are you sure you want to end this poll?"
"Poll: %1$s"
"Verify device"
"Confirmation"
"Warning"
- "Activities"
- "Flags"
- "Food & Drink"
- "Animals & Nature"
- "Objects"
- "Smileys & People"
- "Travel & Places"
- "Symbols"
"Failed creating the permalink"
"%1$s could not load the map. Please try again later."
"Failed loading messages"
@@ -200,9 +192,6 @@
"Sorry, an error occurred"
"🔐️ Join me on %1$s"
"Hey, talk to me on %1$s: %2$s"
- "Are you sure that you want to leave this room? You\'re the only person here. If you leave, no one will be able to join in the future, including you."
- "Are you sure that you want to leave this room? This room is not public and you won\'t be able to rejoin without an invite."
- "Are you sure that you want to leave the room?"
"%1$s Android"
- "%1$d digit entered"
@@ -217,41 +206,12 @@
- "%d votes"
"Rageshake to report bug"
- "This message will be reported to your homeserver’s administrator. They will not be able to read any encrypted messages."
- "Reason for reporting this content"
"This is the beginning of %1$s."
"This is the beginning of this conversation."
"New"
- "Share analytics data"
"Failed selecting media, please try again."
"Failed processing media to upload, please try again."
"Failed uploading media, please try again."
- "Additional settings"
- "Audio and video calls"
- "Configuration mismatch"
- "We’ve simplified Notifications Settings to make options easier to find. Some custom settings you’ve chosen in the past are not shown here, but they’re still active.
-
-If you proceed, some of your settings may change."
- "Direct chats"
- "Custom setting per chat"
- "An error occurred while updating the notification setting."
- "All messages"
- "Mentions and Keywords only"
- "On direct chats, notify me for"
- "On group chats, notify me for"
- "Enable notifications on this device"
- "The configuration has not been corrected, please try again."
- "Group chats"
- "Mentions"
- "All"
- "Mentions"
- "Notify me for"
- "Notify me on @room"
- "To receive notifications, please change your %1$s."
- "system settings"
- "System notifications turned off"
- "Notifications"
- "Check if you want to hide all current and future messages from this user"
"Share location"
"Share my location"
"Open in Apple Maps"
@@ -259,15 +219,9 @@ If you proceed, some of your settings may change."
"Open in OpenStreetMap"
"Share this location"
"Location"
- "Rageshake"
- "Detection threshold"
"Version: %1$s (%2$s)"
"en"
"en"
"Error"
"Success"
- "Share anonymous usage data to help us identify issues."
- "You can read all our terms %1$s."
- "here"
- "Block user"
diff --git a/libraries/voicerecorder/impl/build.gradle.kts b/libraries/voicerecorder/impl/build.gradle.kts
index 6ebfb28997..d73f06b868 100644
--- a/libraries/voicerecorder/impl/build.gradle.kts
+++ b/libraries/voicerecorder/impl/build.gradle.kts
@@ -31,6 +31,7 @@ dependencies {
api(libs.opusencoder)
implementation(libs.dagger)
+ implementation(projects.appconfig)
implementation(projects.libraries.matrix.api)
implementation(projects.libraries.core)
implementation(projects.libraries.di)
diff --git a/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImpl.kt b/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImpl.kt
index 042ecacfbe..5a1cfe537b 100644
--- a/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImpl.kt
+++ b/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImpl.kt
@@ -19,6 +19,7 @@ package io.element.android.libraries.voicerecorder.impl
import android.Manifest
import androidx.annotation.RequiresPermission
import com.squareup.anvil.annotations.ContributesBinding
+import io.element.android.appconfig.VoiceMessageConfig
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.core.coroutine.childScope
import io.element.android.libraries.di.RoomScope
@@ -46,7 +47,6 @@ import java.io.File
import java.util.UUID
import javax.inject.Inject
import kotlin.time.Duration.Companion.milliseconds
-import kotlin.time.Duration.Companion.minutes
import kotlin.time.TimeSource
@SingleIn(RoomScope::class)
@@ -94,7 +94,7 @@ class VoiceRecorderImpl @Inject constructor(
val elapsedTime = startedAt.elapsedNow()
- if (elapsedTime > 30.minutes) {
+ if (elapsedTime > VoiceMessageConfig.maxVoiceMessageDuration) {
Timber.w("Voice message time limit reached")
stopRecord(false)
return@record
diff --git a/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImplTest.kt b/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImplTest.kt
index e3b2100ccc..d67a44f6f3 100644
--- a/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImplTest.kt
+++ b/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/VoiceRecorderImplTest.kt
@@ -20,6 +20,7 @@ import android.media.AudioFormat
import android.media.MediaRecorder
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
+import io.element.android.appconfig.VoiceMessageConfig
import io.element.android.libraries.voicerecorder.api.VoiceRecorderState
import io.element.android.libraries.voicerecorder.impl.audio.Audio
import io.element.android.libraries.voicerecorder.impl.audio.AudioConfig
@@ -77,8 +78,8 @@ class VoiceRecorderImplTest {
voiceRecorder.startRecord()
assertThat(awaitItem()).isEqualTo(VoiceRecorderState.Recording(0.minutes, listOf(1.0f)))
- timeSource += 30.minutes
- assertThat(awaitItem()).isEqualTo(VoiceRecorderState.Recording(30.minutes, listOf()))
+ timeSource += VoiceMessageConfig.maxVoiceMessageDuration
+ assertThat(awaitItem()).isEqualTo(VoiceRecorderState.Recording(VoiceMessageConfig.maxVoiceMessageDuration, listOf()))
timeSource += 1.milliseconds
assertThat(awaitItem()).isEqualTo(
@@ -86,7 +87,7 @@ class VoiceRecorderImplTest {
file = File(FILE_PATH),
mimeType = "audio/ogg",
waveform = List(100) { 1f },
- duration = 30.minutes,
+ duration = VoiceMessageConfig.maxVoiceMessageDuration,
)
)
}
diff --git a/tools/localazy/config.json b/tools/localazy/config.json
index 4fa301b914..e95892ac52 100644
--- a/tools/localazy/config.json
+++ b/tools/localazy/config.json
@@ -10,7 +10,8 @@
"name": ":features:rageshake:api",
"includeRegex": [
"crash_detection_.*",
- "rageshake_detection_.*"
+ "rageshake_detection_.*",
+ "settings_rageshake.*"
]
},
{
@@ -93,6 +94,12 @@
"screen_waitlist_.*"
]
},
+ {
+ "name": ":features:leaveroom:api",
+ "includeRegex": [
+ "leave_room_alert_.*"
+ ]
+ },
{
"name": ":features:roomlist:impl",
"includeRegex": [
@@ -107,7 +114,8 @@
"screen_room_details_.*",
"screen_room_member_list_.*",
"screen_dm_details_.*",
- "screen_room_notification_settings_.*"
+ "screen_room_notification_settings_.*",
+ "screen_notification_settings_edit_failed_updating_default_mode"
]
},
{
@@ -116,7 +124,9 @@
"screen_room_.*",
"screen\\.room\\..*",
"screen_dm_details_.*",
- "room_timeline_state_changes"
+ "room_timeline_state_changes",
+ "emoji_picker_category_.*",
+ ".*report_content_.*"
],
"excludeRegex": [
"screen_room_details_.*",
@@ -130,6 +140,12 @@
"screen_analytics_prompt.*"
]
},
+ {
+ "name": ":features:analytics:api",
+ "includeRegex": [
+ "screen_analytics_settings_.*"
+ ]
+ },
{
"name": ":features:ftue:impl",
"includeRegex": [
@@ -157,7 +173,8 @@
"includeRegex": [
"screen_advanced_settings_.*",
"screen\\.advanced_settings\\..*",
- "screen_edit_profile_.*"
+ "screen_edit_profile_.*",
+ "screen_notification_settings_.*"
]
},
{