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" ]