Migrate translatable strings from fragment to xml.

This commit is contained in:
Alex Hart 2024-06-18 16:48:50 -03:00 committed by Greyson Parrelli
parent 3551e7ec00
commit 3f1cb65e02
2 changed files with 99 additions and 50 deletions

View file

@ -79,8 +79,6 @@ import java.util.Locale
/**
* Remote backups settings fragment.
*
* TODO [message-backups] -- All copy in this file is non-final
*/
class RemoteBackupsSettingsFragment : ComposeFragment() {
@ -208,7 +206,7 @@ private fun RemoteBackupsSettingsContent(
}
Scaffolds.Settings(
title = "Signal Backups",
title = stringResource(id = R.string.RemoteBackupsSettingsFragment__signal_backups),
onNavigationClick = contentCallbacks::onNavigationClick,
navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_left_24),
snackbarHost = {
@ -230,7 +228,7 @@ private fun RemoteBackupsSettingsContent(
if (messageBackupsType == null) {
item {
Rows.TextRow(
text = "Payment history",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__payment_history),
onClick = contentCallbacks::onViewPaymentHistory
)
}
@ -240,7 +238,7 @@ private fun RemoteBackupsSettingsContent(
}
item {
Texts.SectionHeader(text = "Backup Details")
Texts.SectionHeader(text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backup_details))
}
if (backupProgress == null || backupProgress.type == BackupV2Event.Type.FINISHED) {
@ -260,7 +258,7 @@ private fun RemoteBackupsSettingsContent(
Rows.TextRow(text = {
Column {
Text(
text = "Backup size",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backup_size),
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurface
)
@ -278,7 +276,7 @@ private fun RemoteBackupsSettingsContent(
text = {
Column {
Text(
text = "Backup frequency",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backup_frequency),
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurface
)
@ -296,7 +294,7 @@ private fun RemoteBackupsSettingsContent(
item {
Rows.ToggleRow(
checked = canBackUpUsingCellular,
text = "Back up using cellular",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__back_up_using_cellular),
onCheckChanged = contentCallbacks::onBackUpUsingCellularClick
)
}
@ -307,7 +305,7 @@ private fun RemoteBackupsSettingsContent(
item {
Rows.TextRow(
text = "Turn off and delete backup",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__turn_off_and_delete_backup),
foregroundTint = MaterialTheme.colorScheme.error,
onClick = contentCallbacks::onTurnOffAndDeleteBackupsClick
)
@ -341,34 +339,26 @@ private fun RemoteBackupsSettingsContent(
}
}
val snackbarMessageId = remember(requestedSnackbar) {
when (requestedSnackbar) {
RemoteBackupsSettingsState.Snackbar.NONE -> -1
RemoteBackupsSettingsState.Snackbar.BACKUP_DELETED_AND_TURNED_OFF -> R.string.RemoteBackupsSettingsFragment__backup_deleted_and_turned_off
RemoteBackupsSettingsState.Snackbar.BACKUP_TYPE_CHANGED_AND_SUBSCRIPTION_CANCELLED -> R.string.RemoteBackupsSettingsFragment__backup_type_changed_and_subcription_deleted
RemoteBackupsSettingsState.Snackbar.SUBSCRIPTION_CANCELLED -> R.string.RemoteBackupsSettingsFragment__subscription_cancelled
RemoteBackupsSettingsState.Snackbar.DOWNLOAD_COMPLETE -> R.string.RemoteBackupsSettingsFragment__download_complete
}
}
val snackbarText = if (snackbarMessageId == -1) "" else stringResource(id = snackbarMessageId)
LaunchedEffect(requestedSnackbar) {
when (requestedSnackbar) {
RemoteBackupsSettingsState.Snackbar.NONE -> {
snackbarHostState.currentSnackbarData?.dismiss()
}
RemoteBackupsSettingsState.Snackbar.BACKUP_DELETED_AND_TURNED_OFF -> {
snackbarHostState.showSnackbar(
"Backup deleted and turned off"
)
}
RemoteBackupsSettingsState.Snackbar.BACKUP_TYPE_CHANGED_AND_SUBSCRIPTION_CANCELLED -> {
snackbarHostState.showSnackbar(
"Backup type changed and subscription cancelled"
)
}
RemoteBackupsSettingsState.Snackbar.SUBSCRIPTION_CANCELLED -> {
snackbarHostState.showSnackbar(
"Subscription cancelled"
)
}
RemoteBackupsSettingsState.Snackbar.DOWNLOAD_COMPLETE -> {
snackbarHostState.showSnackbar(
"Download complete"
)
else -> {
snackbarHostState.showSnackbar(snackbarText)
}
}
contentCallbacks.onSnackbarDismissed()
@ -392,14 +382,14 @@ private fun BackupTypeRow(
modifier = Modifier.weight(1f)
) {
Text(
text = "Backup type",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backup_type),
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurface
)
if (messageBackupsType == null) {
Text(
text = "Backups disabled",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backups_disabled),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
@ -410,14 +400,14 @@ private fun BackupTypeRow(
}
Text(
text = "${messageBackupsType.title} · $formattedCurrency/month"
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__s_dot_s_per_month, messageBackupsType.title, formattedCurrency)
)
}
}
if (messageBackupsType == null) {
Buttons.Small(onClick = onEnableBackupsClick) {
Text(text = "Enable backups")
Text(text = stringResource(id = R.string.RemoteBackupsSettingsFragment__enable_backups))
}
}
}
@ -439,11 +429,14 @@ private fun InProgressBackupRow(
if (totalProgress == null || totalProgress == 0) {
LinearProgressIndicator(modifier = Modifier.fillMaxWidth())
} else {
LinearProgressIndicator(modifier = Modifier.fillMaxWidth(), progress = ((progress ?: 0) / totalProgress).toFloat())
LinearProgressIndicator(
modifier = Modifier.fillMaxWidth(),
progress = { ((progress ?: 0) / totalProgress).toFloat() }
)
}
Text(
text = "$progress/$totalProgress",
text = stringResource(R.string.RemoteBackupsSettingsFragment__d_slash_d, progress ?: 0, totalProgress ?: 0),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
@ -465,7 +458,7 @@ private fun LastBackupRow(
modifier = Modifier.weight(1f)
) {
Text(
text = "Last backup",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__last_backup),
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurface
)
@ -482,13 +475,13 @@ private fun LastBackupRow(
}
Text(
text = "$day at $time",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__s_at_s, day, time),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
} else {
Text(
text = "Never",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__never),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
@ -496,7 +489,7 @@ private fun LastBackupRow(
}
Buttons.Small(onClick = onBackupNowClick) {
Text(text = "Back up now")
Text(text = stringResource(id = R.string.RemoteBackupsSettingsFragment__back_up_now))
}
}
}
@ -507,9 +500,9 @@ private fun TurnOffAndDeleteBackupsDialog(
onDismiss: () -> Unit
) {
Dialogs.SimpleAlertDialog(
title = "Turn off and delete backups?",
body = "You will not be charged again. Your backup will be deleted and no new backups will be created.",
confirm = "Turn off and delete",
title = stringResource(id = R.string.RemoteBackupsSettingsFragment__turn_off_and_delete_backups),
body = stringResource(id = R.string.RemoteBackupsSettingsFragment__you_will_not_be_charged_again),
confirm = stringResource(id = R.string.RemoteBackupsSettingsFragment__turn_off_and_delete),
dismiss = stringResource(id = android.R.string.cancel),
confirmColor = MaterialTheme.colorScheme.error,
onConfirm = onConfirm,
@ -591,7 +584,7 @@ private fun BackupFrequencyDialog(
.fillMaxWidth()
) {
Text(
text = "Backup frequency",
text = stringResource(id = R.string.RemoteBackupsSettingsFragment__backup_frequency),
style = MaterialTheme.typography.headlineMedium,
modifier = Modifier.padding(24.dp)
)
@ -601,7 +594,7 @@ private fun BackupFrequencyDialog(
selected = selected == it,
text = getTextForFrequency(backupsFrequency = it),
label = when (it) {
BackupFrequency.MANUAL -> "By tapping \"Back up now\""
BackupFrequency.MANUAL -> stringResource(id = R.string.RemoteBackupsSettingsFragment__by_tapping_back_up_now)
else -> null
},
modifier = Modifier
@ -632,10 +625,10 @@ private fun BackupFrequencyDialog(
@Composable
private fun getTextForFrequency(backupsFrequency: BackupFrequency): String {
return when (backupsFrequency) {
BackupFrequency.DAILY -> "Daily"
BackupFrequency.WEEKLY -> "Weekly"
BackupFrequency.MONTHLY -> "Monthly"
BackupFrequency.MANUAL -> "Manually back up"
BackupFrequency.DAILY -> stringResource(id = R.string.RemoteBackupsSettingsFragment__daily)
BackupFrequency.WEEKLY -> stringResource(id = R.string.RemoteBackupsSettingsFragment__weekly)
BackupFrequency.MONTHLY -> stringResource(id = R.string.RemoteBackupsSettingsFragment__monthly)
BackupFrequency.MANUAL -> stringResource(id = R.string.RemoteBackupsSettingsFragment__manually_back_up)
}
}

View file

@ -7032,10 +7032,66 @@
<string name="DeleteSyncEducation_acknowledge_button">OK</string>
<!-- RemoteBackupsSettingsFragment -->
<!-- Displayed on the title bar -->
<string name="RemoteBackupsSettingsFragment__signal_backups">Signal Backups</string>
<!-- Row label to launch payment history screen -->
<string name="RemoteBackupsSettingsFragment__payment_history">Payment history</string>
<!-- Section header for backup information -->
<string name="RemoteBackupsSettingsFragment__backup_details">Backup details</string>
<!-- Row label for backup size -->
<string name="RemoteBackupsSettingsFragment__backup_size">Backup size</string>
<!-- Row label for backup frequency -->
<string name="RemoteBackupsSettingsFragment__backup_frequency">Backup frequency</string>
<!-- Toggle row label for allowing backups to occur while on cellular connection -->
<string name="RemoteBackupsSettingsFragment__back_up_using_cellular">Back up using cellular</string>
<!-- Row label for cancelling and deleting backup -->
<string name="RemoteBackupsSettingsFragment__turn_off_and_delete_backup">Turn off and delete backup</string>
<!-- Snackbar text displayed when backup has been deleted and turned off -->
<string name="RemoteBackupsSettingsFragment__backup_deleted_and_turned_off">Backup deleted and turned off.</string>
<!-- Snackbar text displayed when backup type is downgraded -->
<string name="RemoteBackupsSettingsFragment__backup_type_changed_and_subcription_deleted">Backup type changed and subscription cancelled</string>
<!-- Snackbar text displayed when backup subscription is cancelled -->
<string name="RemoteBackupsSettingsFragment__subscription_cancelled">Subscription cancelled</string>
<!-- Snackbar text displayed when backup is successfully downloaded -->
<string name="RemoteBackupsSettingsFragment__download_complete">Download complete</string>
<!-- Title text in row detailing selected backup type -->
<string name="RemoteBackupsSettingsFragment__backup_type">Backup type</string>
<!-- Subtitle text in row detailing selected backup type displayed when backups are disabled -->
<string name="RemoteBackupsSettingsFragment__backups_disabled">Backups disabled</string>
<!-- Format string for backup and cost. First placeholder is backup title, second is cost per month. -->
<string name="RemoteBackupsSettingsFragment__s_dot_s_per_month">%1$s · %2$s/month</string>
<!-- Button label to enable backups -->
<string name="RemoteBackupsSettingsFragment__enable_backups">Enable backups</string>
<!-- Progress indicator subtext displayed when a backup is in progress -->
<string name="RemoteBackupsSettingsFragment__d_slash_d">%1$d/%2$d</string>
<!-- Title text in row detailing last backup -->
<string name="RemoteBackupsSettingsFragment__last_backup">Last backup</string>
<!-- Subtext describing when a backup took place. First placeholder is the day, second is time. -->
<string name="RemoteBackupsSettingsFragment__s_at_s">%1$s at %2$s</string>
<!-- Subtext describing when a backup has never taken place. -->
<string name="RemoteBackupsSettingsFragment__never">Never</string>
<!-- Button label to perform a backup immediately -->
<string name="RemoteBackupsSettingsFragment__back_up_now">Back up now</string>
<!-- Dialog title when confirming whether to turn off and deleting backups -->
<string name="RemoteBackupsSettingsFragment__turn_off_and_delete_backups">Turn off and delete backups?</string>
<!-- Dialog message when confirming whether to turn off and delete backups -->
<string name="RemoteBackupsSettingsFragment__you_will_not_be_charged_again">You will not be charged again. Your backup will be deleted and no new backups will be created.</string>
<!-- Confirmation action on dialog to turn off and delete backups -->
<string name="RemoteBackupsSettingsFragment__turn_off_and_delete">Turn off and delete</string>
<!-- Text on dialog while user backup is being deleted -->
<string name="RemoteBackupsSettingsFragment__deleting_backup">Deleting backup…</string>
<!-- Text on dialog when user backup is deleted -->
<string name="RemoteBackupsSettingsFragment__backup_deleted">Backup deleted</string>
<!-- Subtitle for frequency option MANUAL for backup frequency -->
<string name="RemoteBackupsSettingsFragment__by_tapping_back_up_now">By tapping "Back up now"</string>
<!-- Title for frequency option DAILY for backup frequency -->
<string name="RemoteBackupsSettingsFragment__daily">Daily</string>
<!-- Title for frequency option DAILY for backup frequency -->
<string name="RemoteBackupsSettingsFragment__weekly">Weekly</string>
<!-- Title for frequency option DAILY for backup frequency -->
<string name="RemoteBackupsSettingsFragment__monthly">Monthly</string>
<!-- Title for frequency option DAILY for backup frequency -->
<string name="RemoteBackupsSettingsFragment__manually_back_up">Manually back up</string>
<!-- EOF -->
</resources>