diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt
index 191aae3b2b..e860cd1483 100644
--- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt
+++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt
@@ -38,10 +38,12 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
import io.element.android.features.poll.api.pollcontent.PollContentView
+import io.element.android.features.poll.impl.R
import io.element.android.features.poll.impl.history.model.PollHistoryFilter
import io.element.android.features.poll.impl.history.model.PollHistoryItem
import io.element.android.libraries.designsystem.components.button.BackButton
@@ -55,6 +57,7 @@ import io.element.android.libraries.designsystem.theme.components.Surface
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.matrix.api.core.EventId
+import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.ImmutableList
@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class)
@@ -84,7 +87,7 @@ fun PollHistoryView(
TopAppBar(
title = {
Text(
- text = "Polls", // TODO Polls: Localazy
+ text = stringResource(R.string.screen_polls_history_title),
style = ElementTheme.typography.aliasScreenTitle,
)
},
@@ -149,7 +152,7 @@ private fun PollHistoryFilterButtons(
count = PollHistoryFilter.entries.size,
selected = activeFilter == filter,
onClick = { onFilterSelected(filter) },
- text = filter.name
+ text = stringResource(filter.stringResource),
)
}
}
@@ -184,7 +187,7 @@ private fun PollHistoryList(
if (hasMoreToLoad) {
item {
Button(
- text = "Load more",
+ text = stringResource(CommonStrings.action_load_more),
showProgress = isLoading,
onClick = onLoadMore,
modifier = Modifier.padding(vertical = 24.dp),
diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/model/PollHistoryFilter.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/model/PollHistoryFilter.kt
index d56087d2c1..c8d905e031 100644
--- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/model/PollHistoryFilter.kt
+++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/model/PollHistoryFilter.kt
@@ -16,7 +16,9 @@
package io.element.android.features.poll.impl.history.model
-enum class PollHistoryFilter {
- ONGOING,
- PAST,
+import io.element.android.features.poll.impl.R
+
+enum class PollHistoryFilter(val stringResource: Int) {
+ ONGOING(R.string.screen_polls_history_filter_ongoing),
+ PAST(R.string.screen_polls_history_filter_past),
}
diff --git a/features/poll/impl/src/main/res/values/localazy.xml b/features/poll/impl/src/main/res/values/localazy.xml
index 83942df70d..7a7a15ea3c 100644
--- a/features/poll/impl/src/main/res/values/localazy.xml
+++ b/features/poll/impl/src/main/res/values/localazy.xml
@@ -11,4 +11,9 @@
"Are you sure you want to delete this poll?"
"Delete Poll"
"Edit poll"
+ "Can\'t find any ongoing polls."
+ "Can\'t find any past polls."
+ "Ongoing"
+ "Past"
+ "Polls"
diff --git a/features/preferences/impl/src/main/res/values/localazy.xml b/features/preferences/impl/src/main/res/values/localazy.xml
index c76c647bba..55c43f05f4 100644
--- a/features/preferences/impl/src/main/res/values/localazy.xml
+++ b/features/preferences/impl/src/main/res/values/localazy.xml
@@ -29,6 +29,7 @@ If you proceed, some of your settings may change."
"Enable notifications on this device"
"The configuration has not been corrected, please try again."
"Group chats"
+ "Invitations"
"Your homeserver does not support this option in encrypted rooms, you may not get notified in some rooms."
"Mentions"
"All"
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt
index 0f92b466f4..8bdba4be73 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt
@@ -385,7 +385,7 @@ private fun PollsSection(
) {
PreferenceCategory(modifier = modifier) {
ListItem(
- headlineContent = { Text("Polls") }, // TODO Polls: Localazy
+ headlineContent = { Text(stringResource(R.string.screen_polls_history_title)) },
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls)),
onClick = openPollHistory,
)
diff --git a/features/roomdetails/impl/src/main/res/values/localazy.xml b/features/roomdetails/impl/src/main/res/values/localazy.xml
index 5363c6a78e..f8bf5ddf6f 100644
--- a/features/roomdetails/impl/src/main/res/values/localazy.xml
+++ b/features/roomdetails/impl/src/main/res/values/localazy.xml
@@ -5,6 +5,7 @@
- "%1$d people"
"An error occurred while updating the notification setting."
+ "Polls"
"Add topic"
"Already a member"
"Already invited"
diff --git a/features/verifysession/impl/src/main/res/values/localazy.xml b/features/verifysession/impl/src/main/res/values/localazy.xml
index 24b3a7cf26..9b785044d8 100644
--- a/features/verifysession/impl/src/main/res/values/localazy.xml
+++ b/features/verifysession/impl/src/main/res/values/localazy.xml
@@ -3,6 +3,8 @@
"Something doesn’t seem right. Either the request timed out or the request was denied."
"Confirm that the emojis below match those shown on your other session."
"Compare emojis"
+ "Confirm that the numbers below match those shown on your other session."
+ "Compare numbers"
"Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted."
"Prove it’s you in order to access your encrypted message history."
"Open an existing session"
diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml
index c816850f98..10d3bbd12e 100644
--- a/libraries/ui-strings/src/main/res/values/localazy.xml
+++ b/libraries/ui-strings/src/main/res/values/localazy.xml
@@ -95,6 +95,7 @@
"Try again"
"View source"
"Yes"
+ "Load more"
"About"
"Acceptable use policy"
"Advanced settings"
@@ -109,6 +110,7 @@
"Dark"
"Decryption error"
"Developer options"
+ "Direct chat"
"(edited)"
"Editing"
"* %1$s %2$s"
@@ -227,9 +229,6 @@
- "%d votes"
"Rageshake to report bug"
- "Are you sure you want to delete this poll?"
- "Delete Poll"
- "Edit poll"
"Failed selecting media, please try again."
"Failed processing media to upload, please try again."
"Failed uploading media, please try again."
diff --git a/tools/localazy/config.json b/tools/localazy/config.json
index 06805d49cc..cc949b7dde 100644
--- a/tools/localazy/config.json
+++ b/tools/localazy/config.json
@@ -1,91 +1,91 @@
{
- "modules": [
+ "modules" : [
{
- "name": ":features:rageshake:impl",
- "includeRegex": [
+ "name" : ":features:rageshake:impl",
+ "includeRegex" : [
"screen_bug_report_.*"
]
},
{
- "name": ":features:rageshake:api",
- "includeRegex": [
+ "name" : ":features:rageshake:api",
+ "includeRegex" : [
"crash_detection_.*",
"rageshake_detection_.*",
"settings_rageshake.*"
]
},
{
- "name": ":features:logout:impl",
- "includeRegex": [
+ "name" : ":features:logout:impl",
+ "includeRegex" : [
"screen_signout_.*"
]
},
{
- "name": ":features:onboarding:impl",
- "includeRegex": [
+ "name" : ":features:onboarding:impl",
+ "includeRegex" : [
"screen_onboarding_.*"
]
},
{
- "name": ":features:signedout:impl",
- "includeRegex": [
+ "name" : ":features:signedout:impl",
+ "includeRegex" : [
"screen_signed_out_.*"
]
},
{
- "name": ":features:invitelist:impl",
- "includeRegex": [
+ "name" : ":features:invitelist:impl",
+ "includeRegex" : [
"screen_invites_.*"
]
},
{
- "name": ":features:createroom:impl",
- "includeRegex": [
+ "name" : ":features:createroom:impl",
+ "includeRegex" : [
"screen_create_room_.*",
"screen_start_chat_.*"
]
},
{
- "name": ":features:verifysession:impl",
- "includeRegex": [
+ "name" : ":features:verifysession:impl",
+ "includeRegex" : [
"screen_session_verification_.*"
]
},
{
- "name": ":libraries:textcomposer:impl",
- "includeRegex": [
+ "name" : ":libraries:textcomposer:impl",
+ "includeRegex" : [
"rich_text_editor.*",
".*voice_message_tooltip"
]
},
{
- "name": ":libraries:permissions:api",
- "includeRegex": [
+ "name" : ":libraries:permissions:api",
+ "includeRegex" : [
"dialog\\.permission_.*"
]
},
{
- "name": ":libraries:androidutils",
- "includeRegex": [
+ "name" : ":libraries:androidutils",
+ "includeRegex" : [
"error_no_compatible_app_found"
]
},
{
- "name": ":libraries:eventformatter:impl",
- "includeRegex": [
+ "name" : ":libraries:eventformatter:impl",
+ "includeRegex" : [
"state_event_.*"
]
},
{
- "name": ":libraries:push:impl",
- "includeRegex": [
+ "name" : ":libraries:push:impl",
+ "includeRegex" : [
"push_.*",
"notification_.*"
]
},
{
- "name": ":features:login:impl",
- "includeRegex": [
+ "name" : ":features:login:impl",
+ "includeRegex" : [
"screen_login_.*",
"screen_server_confirmation_.*",
"screen_change_server_.*",
@@ -95,32 +95,33 @@
]
},
{
- "name": ":features:leaveroom:api",
- "includeRegex": [
+ "name" : ":features:leaveroom:api",
+ "includeRegex" : [
"leave_room_alert_.*"
]
},
{
- "name": ":features:roomlist:impl",
- "includeRegex": [
+ "name" : ":features:roomlist:impl",
+ "includeRegex" : [
"screen_roomlist_.*",
"session_verification_banner_.*",
"confirm_recovery_key_banner_.*"
]
},
{
- "name": ":features:roomdetails:impl",
- "includeRegex": [
+ "name" : ":features:roomdetails:impl",
+ "includeRegex" : [
"screen_room_details_.*",
"screen_room_member_list_.*",
"screen_dm_details_.*",
"screen_room_notification_settings_.*",
- "screen_notification_settings_edit_failed_updating_default_mode"
+ "screen_notification_settings_edit_failed_updating_default_mode",
+ "screen_polls_history_title"
]
},
{
- "name": ":features:messages:impl",
- "includeRegex": [
+ "name" : ":features:messages:impl",
+ "includeRegex" : [
"room_timeline_.*",
"screen_room_.*",
"screen\\.room\\..*",
@@ -128,50 +129,51 @@
"emoji_picker_category_.*",
".*report_content_.*"
],
- "excludeRegex": [
+ "excludeRegex" : [
"screen_room_details_.*",
"screen_room_member.*",
"screen_dm_.*"
]
},
{
- "name": ":features:analytics:impl",
- "includeRegex": [
+ "name" : ":features:analytics:impl",
+ "includeRegex" : [
"screen_analytics_prompt.*"
]
},
{
- "name": ":features:analytics:api",
- "includeRegex": [
+ "name" : ":features:analytics:api",
+ "includeRegex" : [
"screen_analytics_settings_.*"
]
},
{
- "name": ":features:ftue:impl",
- "includeRegex": [
+ "name" : ":features:ftue:impl",
+ "includeRegex" : [
"screen_welcome_.*",
"screen_migration_.*",
"screen_notification_optin_.*"
]
},
{
- "name": ":features:poll:impl",
- "includeRegex": [
+ "name" : ":features:poll:impl",
+ "includeRegex" : [
"screen_create_poll_.*",
- "screen_edit_poll_.*"
+ "screen_edit_poll_.*",
+ "screen_polls_history_.*"
]
},
{
- "name": ":features:securebackup:impl",
- "includeRegex": [
+ "name" : ":features:securebackup:impl",
+ "includeRegex" : [
"screen_chat_backup_.*",
"screen_key_backup_disable_.*",
"screen_recovery_key_.*"
]
},
{
- "name": ":features:preferences:impl",
- "includeRegex": [
+ "name" : ":features:preferences:impl",
+ "includeRegex" : [
"screen_advanced_settings_.*",
"screen\\.advanced_settings\\..*",
"screen_edit_profile_.*",
@@ -179,14 +181,14 @@
]
},
{
- "name": ":features:call",
- "includeRegex": [
+ "name" : ":features:call",
+ "includeRegex" : [
"call_.*"
]
},
{
- "name": ":features:lockscreen:impl",
- "includeRegex": [
+ "name" : ":features:lockscreen:impl",
+ "includeRegex" : [
"screen_app_lock_.*",
"screen_signout_in_progress_dialog_content"
]