Update donations strings.

main
Alex Hart 2023-01-10 12:13:08 -04:00
rodzic 429f89cba1
commit 3543a5ea24
19 zmienionych plików z 70 dodań i 66 usunięć

Wyświetl plik

@ -30,14 +30,14 @@ object ExpiredGiftSheetConfiguration {
private fun DSLConfiguration.expiredSheet(onMakeAMonthlyDonation: () -> Unit, onNotNow: () -> Unit) {
textPref(
title = DSLSettingsText.from(
stringId = R.string.ExpiredGiftSheetConfiguration__your_gift_badge_has_expired,
stringId = R.string.ExpiredGiftSheetConfiguration__your_badge_has_expired,
DSLSettingsText.CenterModifier, DSLSettingsText.TitleLargeModifier
)
)
textPref(
title = DSLSettingsText.from(
stringId = R.string.ExpiredGiftSheetConfiguration__your_gift_badge_has_expired_and_is,
stringId = R.string.ExpiredGiftSheetConfiguration__your_badge_has_expired_and_is,
DSLSettingsText.CenterModifier
)
)

Wyświetl plik

@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.badges.BadgeImageView
import org.thoughtcrime.securesms.badges.gifts.Gifts.formatExpiry
import org.thoughtcrime.securesms.database.model.databaseprotos.GiftBadge
import org.thoughtcrime.securesms.mms.GlideRequests
import org.thoughtcrime.securesms.recipients.Recipient
/**
* Displays a gift badge sent to or received from a user, and allows the user to
@ -49,8 +50,7 @@ class GiftMessageView @JvmOverloads constructor(
}
}
fun setGiftBadge(glideRequests: GlideRequests, giftBadge: GiftBadge, isOutgoing: Boolean, callback: Callback) {
titleView.setText(R.string.GiftMessageView__gift_badge)
fun setGiftBadge(glideRequests: GlideRequests, giftBadge: GiftBadge, isOutgoing: Boolean, callback: Callback, recipient: Recipient) {
descriptionView.text = giftBadge.formatExpiry(context)
actionView.icon = null
actionView.setOnClickListener { callback.onViewGiftBadgeClicked() }
@ -58,7 +58,9 @@ class GiftMessageView @JvmOverloads constructor(
if (isOutgoing) {
actionView.setText(R.string.GiftMessageView__view)
titleView.text = context.getString(R.string.GiftMessageView__donation_to_s, recipient.getDisplayName(context))
} else {
titleView.text = context.getString(R.string.GiftMessageView__s_donated_to_signal_on, recipient.getShortDisplayName(context))
when (giftBadge.redemptionState) {
GiftBadge.RedemptionState.REDEEMED -> {
stopAnimationIfNeeded()

Wyświetl plik

@ -45,7 +45,7 @@ import org.thoughtcrime.securesms.util.navigation.safeNavigate
*/
class GiftFlowConfirmationFragment :
DSLSettingsFragment(
titleId = R.string.GiftFlowConfirmationFragment__confirm_gift,
titleId = R.string.GiftFlowConfirmationFragment__confirm_donation,
layoutId = R.layout.gift_flow_confirmation_fragment
),
EmojiKeyboardPageFragment.Callback,
@ -221,7 +221,7 @@ class GiftFlowConfirmationFragment :
)
textPref(
summary = DSLSettingsText.from(R.string.GiftFlowConfirmationFragment__your_gift_will_be_sent_in)
summary = DSLSettingsText.from(R.string.GiftFlowConfirmationFragment__the_recipient_will_be_notified)
)
}
}

Wyświetl plik

@ -70,7 +70,7 @@ class GiftFlowStartFragment : DSLSettingsFragment(
noPadTextPref(
title = DSLSettingsText.from(
R.string.GiftFlowStartFragment__gift_a_badge,
R.string.GiftFlowStartFragment__donate_for_a_friend,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_Headline)
)
@ -79,7 +79,7 @@ class GiftFlowStartFragment : DSLSettingsFragment(
space(DimensionUnit.DP.toPixels(16f).toInt())
noPadTextPref(
title = DSLSettingsText.from(R.string.GiftFlowStartFragment__gift_someone_a_badge, DSLSettingsText.CenterModifier)
title = DSLSettingsText.from(resources.getQuantityString(R.plurals.GiftFlowStartFragment__support_signal_by, 30, 30), DSLSettingsText.CenterModifier)
)
space(DimensionUnit.DP.toPixels(16f).toInt())

Wyświetl plik

@ -34,7 +34,7 @@ object GiftRowItem {
override fun bind(model: Model) {
binding.check.visible = false
binding.badge.setBadge(model.giftBadge)
binding.tagline.setText(R.string.GiftRowItem__send_a_gift_badge)
binding.tagline.visible = false
val price = FiatMoneyUtil.format(
context.resources,

Wyświetl plik

@ -63,7 +63,7 @@ class GiftThanksSheet : DSLSettingsBottomSheetFragment() {
noPadTextPref(
title = DSLSettingsText.from(
getString(R.string.GiftThanksSheet__youve_gifted_a_badge_to_s, recipient.getDisplayName(requireContext())),
getString(R.string.GiftThanksSheet__youve_made_a_donation, recipient.getDisplayName(requireContext())),
DSLSettingsText.CenterModifier
)
)

Wyświetl plik

@ -157,7 +157,7 @@ class ViewReceivedGiftBottomSheet : DSLSettingsBottomSheetFragment() {
if (state.recipient != null && !isGiftBadgeRedeemed(state.giftBadge)) {
noPadTextPref(
title = DSLSettingsText.from(
charSequence = requireContext().getString(R.string.ViewReceivedGiftBottomSheet__s_sent_you_a_gift, state.recipient.getShortDisplayName(requireContext())),
charSequence = requireContext().getString(R.string.ViewReceivedGiftBottomSheet__s_made_a_donation_for_you, state.recipient.getShortDisplayName(requireContext())),
DSLSettingsText.CenterModifier, DSLSettingsText.TitleLargeModifier
)
)
@ -179,7 +179,7 @@ class ViewReceivedGiftBottomSheet : DSLSettingsBottomSheetFragment() {
private fun DSLConfiguration.presentSubheading(recipient: Recipient) {
noPadTextPref(
title = DSLSettingsText.from(
charSequence = requireContext().getString(R.string.ViewReceivedGiftBottomSheet__youve_received_a_gift_badge, recipient.getDisplayName(requireContext())),
charSequence = requireContext().getString(R.string.ViewReceivedGiftBottomSheet__s_made_a_donation_to_signal, recipient.getShortDisplayName(requireContext())),
DSLSettingsText.CenterModifier
)
)
@ -206,7 +206,8 @@ class ViewReceivedGiftBottomSheet : DSLSettingsBottomSheetFragment() {
else -> {
customPref(
BadgeDisplay112.Model(
badge = badge
badge = badge,
withDisplayText = false
)
)

Wyświetl plik

@ -75,7 +75,7 @@ class ViewSentGiftBottomSheet : DSLSettingsBottomSheetFragment() {
if (state.recipient != null) {
noPadTextPref(
title = DSLSettingsText.from(
charSequence = getString(R.string.ViewSentGiftBottomSheet__youve_gifted_a_badge, state.recipient.getDisplayName(requireContext())),
charSequence = getString(R.string.ViewSentGiftBottomSheet__youve_made_a_donation_to_signal, state.recipient.getDisplayName(requireContext())),
DSLSettingsText.CenterModifier
)
)

Wyświetl plik

@ -224,7 +224,7 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
}
private @Nullable CharSequence resolveBody(@Nullable CharSequence body, @NonNull QuoteModel.Type quoteType) {
return quoteType == QuoteModel.Type.GIFT_BADGE ? getContext().getString(R.string.QuoteView__gift) : body;
return quoteType == QuoteModel.Type.GIFT_BADGE ? getContext().getString(R.string.QuoteView__donation_for_a_friend) : body;
}
public void setTopCornerSizes(boolean topLeftLarge, boolean topRightLarge) {

Wyświetl plik

@ -179,7 +179,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
space(6.dp)
noPadTextPref(
title = DSLSettingsText.from(
R.string.GatewaySelectorBottomSheet__send_a_gift_badge,
R.string.GatewaySelectorBottomSheet__donate_for_a_friend,
DSLSettingsText.CenterModifier,
DSLSettingsText.BodyLargeModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant))

Wyświetl plik

@ -57,8 +57,8 @@ class DonationErrorParams<V> private constructor(
private fun <V> getGenericRedemptionError(context: Context, genericError: DonationError.BadgeRedemptionError.GenericError, callback: Callback<V>): DonationErrorParams<V> {
return when (genericError.source) {
DonationErrorSource.GIFT -> DonationErrorParams(
title = R.string.DonationsErrors__failed_to_send_gift_badge,
message = R.string.DonationsErrors__could_not_send_gift_badge,
title = R.string.DonationsErrors__donation_failed,
message = R.string.DonationsErrors__your_payment_was_processed_but,
positiveAction = callback.onContactSupport(context),
negativeAction = null
)
@ -74,14 +74,14 @@ class DonationErrorParams<V> private constructor(
private fun <V> getVerificationErrorParams(context: Context, verificationError: DonationError.GiftRecipientVerificationError, callback: Callback<V>): DonationErrorParams<V> {
return when (verificationError) {
is DonationError.GiftRecipientVerificationError.FailedToFetchProfile -> DonationErrorParams(
title = R.string.DonationsErrors__couldnt_send_gift,
message = R.string.DonationsErrors__please_check_your_network_connection,
title = R.string.DonationsErrors__cannot_send_donation,
message = R.string.DonationsErrors__your_donation_could_not_be_sent,
positiveAction = callback.onOk(context),
negativeAction = null
)
else -> DonationErrorParams(
title = R.string.DonationsErrors__cant_send_gift,
message = R.string.DonationsErrors__target_does_not_support_gifting,
title = R.string.DonationsErrors__cannot_send_donation,
message = R.string.DonationsErrors__this_user_cant_receive_donations_until,
positiveAction = callback.onOk(context),
negativeAction = null
)

Wyświetl plik

@ -247,7 +247,7 @@ class ManageDonationsFragment :
if (FeatureFlags.giftBadgeSendSupport() && Recipient.self().giftBadgesCapability == Recipient.Capability.SUPPORTED) {
clickPref(
title = DSLSettingsText.from(R.string.ManageDonationsFragment__gift_a_badge),
title = DSLSettingsText.from(R.string.ManageDonationsFragment__donate_for_a_friend),
icon = DSLSettingsIcon.from(R.drawable.ic_gift_24),
onClick = {
startActivity(Intent(requireContext(), GiftFlowActivity::class.java))

Wyświetl plik

@ -70,7 +70,7 @@ class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.do
val type: String = when (record.type) {
DonationReceiptRecord.Type.RECURRING -> getString(R.string.DonationReceiptDetailsFragment__s_dash_s, subscriptionName, getString(R.string.DonationReceiptListFragment__recurring))
DonationReceiptRecord.Type.BOOST -> getString(R.string.DonationReceiptListFragment__one_time)
DonationReceiptRecord.Type.GIFT -> getString(R.string.DonationReceiptListFragment__gift)
DonationReceiptRecord.Type.GIFT -> getString(R.string.DonationReceiptListFragment__donation_for_a_friend)
}
val datePaid: String = DateUtils.formatDate(Locale.getDefault(), record.timestamp)
@ -142,7 +142,7 @@ class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.do
when (record.type) {
DonationReceiptRecord.Type.RECURRING -> getString(R.string.DonationReceiptDetailsFragment__s_dash_s, subscriptionName, getString(R.string.DonationReceiptListFragment__recurring))
DonationReceiptRecord.Type.BOOST -> getString(R.string.DonationReceiptListFragment__one_time)
DonationReceiptRecord.Type.GIFT -> getString(R.string.DonationReceiptListFragment__gift)
DonationReceiptRecord.Type.GIFT -> getString(R.string.DonationReceiptListFragment__donation_for_a_friend)
}
)
)

Wyświetl plik

@ -32,7 +32,7 @@ class DonationReceiptListFragment : Fragment(R.layout.donation_receipt_list_frag
0 -> R.string.DonationReceiptListFragment__all
1 -> R.string.DonationReceiptListFragment__recurring
2 -> R.string.DonationReceiptListFragment__one_time
3 -> R.string.DonationReceiptListFragment__gift
3 -> R.string.DonationReceiptListFragment__donation_for_a_friend
else -> error("Unsupported index $position")
}
)

Wyświetl plik

@ -44,7 +44,7 @@ object DonationReceiptListItem {
when (model.record.type) {
DonationReceiptRecord.Type.RECURRING -> R.string.DonationReceiptListFragment__recurring
DonationReceiptRecord.Type.BOOST -> R.string.DonationReceiptListFragment__one_time
DonationReceiptRecord.Type.GIFT -> R.string.DonationReceiptListFragment__gift
DonationReceiptRecord.Type.GIFT -> R.string.DonationReceiptListFragment__donation_for_a_friend
}
)
moneyView.text = FiatMoneyUtil.format(context.resources, model.record.amount)

Wyświetl plik

@ -1287,7 +1287,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
paymentViewStub.setVisibility(View.GONE);
MmsMessageRecord mmsMessageRecord = (MmsMessageRecord) messageRecord;
giftViewStub.get().setGiftBadge(glideRequests, Objects.requireNonNull(mmsMessageRecord.getGiftBadge()), messageRecord.isOutgoing(), giftMessageViewCallback);
giftViewStub.get().setGiftBadge(glideRequests, Objects.requireNonNull(mmsMessageRecord.getGiftBadge()), messageRecord.isOutgoing(), giftMessageViewCallback, messageRecord.getRecipient());
giftViewStub.get().setVisibility(VISIBLE);
footer.setVisibility(VISIBLE);

Wyświetl plik

@ -87,11 +87,11 @@ public final class ThreadBodyUtil {
private static @NonNull String getGiftSummary(@NonNull Context context, @NonNull MessageRecord messageRecord) {
if (messageRecord.isOutgoing()) {
return context.getString(R.string.ThreadRecord__you_sent_a_gift);
return context.getString(R.string.ThreadRecord__you_donated_for_s, messageRecord.getRecipient().getShortDisplayName(context));
} else if (messageRecord.getViewedReceiptCount() > 0) {
return context.getString(R.string.ThreadRecord__you_redeemed_a_gift_badge);
return context.getString(R.string.ThreadRecord__you_redeemed_a_badge);
} else {
return context.getString(R.string.ThreadRecord__you_received_a_gift);
return context.getString(R.string.ThreadRecord__s_donated_for_you, messageRecord.getRecipient().getShortDisplayName(context));
}
}

Wyświetl plik

@ -36,7 +36,7 @@
android:layout_marginTop="20dp"
android:layout_marginEnd="16dp"
android:gravity="center"
android:text="@string/ViewReceivedGiftSheet__redeeming_gift"
android:text="@string/ViewReceivedGiftSheet__redeeming_badge"
android:textAppearance="@style/Signal.Text.Body"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

Wyświetl plik

@ -1892,11 +1892,11 @@
<string name="ThreadRecord_video">Video</string>
<string name="ThreadRecord_chat_session_refreshed">Chat session refreshed</string>
<!-- Displayed in the notification when the user is sent a gift -->
<string name="ThreadRecord__you_received_a_gift">You received a gift</string>
<string name="ThreadRecord__s_donated_for_you">%1$s donated for you</string>
<!-- Displayed in the notification when the user sends a gift -->
<string name="ThreadRecord__you_sent_a_gift">You sent a gift</string>
<string name="ThreadRecord__you_donated_for_s">You donated for %1$s</string>
<!-- Displayed in the notification when the user has opened a received gift -->
<string name="ThreadRecord__you_redeemed_a_gift_badge">You redeemed a gift badge</string>
<string name="ThreadRecord__you_redeemed_a_badge">You redeemed a badge</string>
<!-- Displayed in the conversation list when someone reacted to your story -->
<string name="ThreadRecord__reacted_s_to_your_story">Reacted %1$s to your story</string>
<!-- Displayed in the conversation list when you reacted to someone\'s story -->
@ -2272,7 +2272,7 @@
<!-- Label indicating that the story being replied to no longer exists -->
<string name="QuoteView_no_longer_available">No longer available</string>
<!-- Label for quoted gift -->
<string name="QuoteView__gift">Gift</string>
<string name="QuoteView__donation_for_a_friend">Donation for a friend</string>
<!-- conversation_fragment -->
<string name="conversation_fragment__scroll_to_the_bottom_content_description">Scroll to the bottom</string>
@ -4360,7 +4360,7 @@
<!-- Preference heading for other ways to donate -->
<string name="ManageDonationsFragment__other_ways_to_give">Other ways to give</string>
<!-- Preference label to launch badge gifting -->
<string name="ManageDonationsFragment__gift_a_badge">Gift a badge</string>
<string name="ManageDonationsFragment__donate_for_a_friend">Donate for a Friend</string>
<string name="Boost__enter_custom_amount">Enter Custom Amount</string>
<string name="Boost__one_time_contribution">One-time contribution</string>
@ -4416,10 +4416,10 @@
<string name="DonationsErrors__failed_to_validate_badge">Failed to validate badge</string>
<!-- Displayed when badge credential couldn\'t be verified -->
<string name="DonationsErrors__could_not_validate">Could not validate server response. Please contact support.</string>
<!-- Displayed as title when some generic error happens during gift badge sending -->
<string name="DonationsErrors__failed_to_send_gift_badge">Failed to send gift badge</string>
<!-- Displayed as message when some generic error happens during gift badge sending -->
<string name="DonationsErrors__could_not_send_gift_badge">Could not send gift badge. Please contact support.</string>
<!-- Displayed as title when some generic error happens during sending donation on behalf of another user -->
<string name="DonationsErrors__donation_failed">Donation failed</string>
<!-- Displayed as message when some generic error happens during sending donation on behalf of another user -->
<string name="DonationsErrors__your_payment_was_processed_but">Your payment was processed but Signal could not send your donation message. Please contact support.</string>
<string name="DonationsErrors__your_badge_could_not">Your badge could not be added to your account, but you may have been charged. Please contact support.</string>
<string name="DonationsErrors__your_payment_is_still">Your payment is still being processed. This can take a few minutes depending on your connection.</string>
<string name="DonationsErrors__failed_to_cancel_subscription">Failed to cancel subscription</string>
@ -4428,16 +4428,16 @@
<string name="NetworkFailure__network_error_check_your_connection_and_try_again">Network error. Check your connection and try again.</string>
<string name="NetworkFailure__retry">Retry</string>
<!-- Displayed as a dialog title when the selected recipient for a gift doesn\'t support gifting -->
<string name="DonationsErrors__cant_send_gift">Can\'t send gift</string>
<string name="DonationsErrors__cannot_send_donation">Cannot send donation</string>
<!-- Displayed as a dialog message when the selected recipient for a gift doesn\'t support gifting -->
<string name="DonationsErrors__target_does_not_support_gifting">This recipient is using a version of Signal that can\'t receive gift badges. They\'ll be able to receive gifts when they update to the latest version.</string>
<!-- Displayed as a dialog title when the user\'s profile could not be fetched, likely due to lack of internet -->
<string name="DonationsErrors__couldnt_send_gift">Couldn\'t send gift</string>
<string name="DonationsErrors__this_user_cant_receive_donations_until">This user can\'t receive donations until they upgrade Signal.</string>
<!-- Displayed as a dialog message when the user\'s profile could not be fetched, likely due to lack of internet -->
<string name="DonationsErrors__please_check_your_network_connection">Your gift could not be sent because of a network error. Check your connection and try again.</string>
<string name="DonationsErrors__your_donation_could_not_be_sent">Your donation could not be sent because of a network error. Check your connection and try again.</string>
<!-- Gift message view title -->
<string name="GiftMessageView__gift_badge">Gift badge</string>
<string name="GiftMessageView__donation_to_s">Donation to %1$s</string>
<!-- Gift message view title for incoming donations -->
<string name="GiftMessageView__s_donated_to_signal_on">%1$s donated to Signal on your behalf</string>
<!-- Gift badge redeem action label -->
<string name="GiftMessageView__redeem">Redeem</string>
<!-- Gift badge view action label -->
@ -4648,7 +4648,7 @@
<!-- Donation receipts one-time tab label -->
<string name="DonationReceiptListFragment__one_time">One-time</string>
<!-- Donation receipts gift tab label -->
<string name="DonationReceiptListFragment__gift">Gift</string>
<string name="DonationReceiptListFragment__donation_for_a_friend">Donation for a friend</string>
<!-- Donation receipts boost row label -->
<!-- Donation receipts details title -->
<!-- Donation receipts donation type heading -->
@ -4998,22 +4998,23 @@
<item quantity="one">%1$s · %2$d day duration</item>
<item quantity="other">%1$s · %2$d day duration</item>
</plurals>
<!-- Tagline for gift row items -->
<string name="GiftRowItem__send_a_gift_badge">Send a gift badge</string>
<!-- Headline text on start fragment for gifting a badge -->
<string name="GiftFlowStartFragment__gift_a_badge">Gift a Badge</string>
<string name="GiftFlowStartFragment__donate_for_a_friend">Donate for a Friend</string>
<!-- Description text on start fragment for gifting a badge -->
<string name="GiftFlowStartFragment__gift_someone_a_badge">Gift someone a badge by making a donation to Signal in their name. They\'ll get a badge to display on their profile photo.</string>
<plurals name="GiftFlowStartFragment__support_signal_by">
<item quantity="one">Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d day</item>
<item quantity="other">Support Signal by making a donation for a friend or family member who uses Signal. They\'ll receive a badge to display on their profile for %1$d days</item>
</plurals>
<!-- Action button label for start fragment for gifting a badge -->
<string name="GiftFlowStartFragment__next">Next</string>
<!-- Title text on choose recipient page for badge gifting -->
<string name="GiftFlowRecipientSelectionFragment__choose_recipient">Choose recipient</string>
<!-- Title text on confirm gift page -->
<string name="GiftFlowConfirmationFragment__confirm_gift">Confirm gift</string>
<string name="GiftFlowConfirmationFragment__confirm_donation">Confirm donation</string>
<!-- Heading text specifying who the gift will be sent to -->
<string name="GiftFlowConfirmationFragment__send_to">Send to</string>
<!-- Text explaining that gift will be sent to the chosen recipient -->
<string name="GiftFlowConfirmationFragment__your_gift_will_be_sent_in">Your gift will be sent in a 1 on 1 message to the recipient. Add your own message below.</string>
<string name="GiftFlowConfirmationFragment__the_recipient_will_be_notified">The recipient will be notified of the donation in a 1 on 1 message. Add your own message below.</string>
<!-- Text explaining that this gift is a one time donation -->
<string name="GiftFlowConfirmationFragment__one_time_donation">One-time donation</string>
<!-- Hint for add message input -->
@ -5021,27 +5022,27 @@
<!-- Displayed in the dialog while verifying the chosen recipient -->
<string name="GiftFlowConfirmationFragment__verifying_recipient">Verifying recipient…</string>
<!-- Title for sheet shown when opening a redeemed gift -->
<string name="ViewReceivedGiftBottomSheet__s_sent_you_a_gift">%1$s sent you a gift</string>
<string name="ViewReceivedGiftBottomSheet__s_made_a_donation_for_you">%1$s made a donation for you</string>
<!-- Title for sheet shown when opening a sent gift -->
<string name="ViewSentGiftBottomSheet__thanks_for_your_support">Thanks for your support!</string>
<!-- Description for sheet shown when opening a redeemed gift -->
<string name="ViewReceivedGiftBottomSheet__youve_received_a_gift_badge">You\'ve received a gift badge from %1$s! Help Signal build awareness by displaying this badge on your profile.</string>
<string name="ViewReceivedGiftBottomSheet__s_made_a_donation_to_signal">%1$s made a donation to Signal on your behalf! Show your support for Signal on your profile.</string>
<!-- Description for sheet shown when opening a sent gift -->
<string name="ViewSentGiftBottomSheet__youve_gifted_a_badge">You\'ve gifted a badge to %1$s. When they accept, they\'ll be given a choice to show or hide their badge.</string>
<string name="ViewSentGiftBottomSheet__youve_made_a_donation_to_signal">You\'ve made a donation to Signal on behalf of %1$s. They\'ll be given the option to show their support on their profile.</string>
<!-- Primary action for pending gift sheet to redeem badge now -->
<string name="ViewReceivedGiftSheet__redeem">Redeem</string>
<!-- Primary action for pending gift sheet to redeem badge later -->
<string name="ViewReceivedGiftSheet__not_now">Not now</string>
<!-- Dialog text while redeeming a gift -->
<string name="ViewReceivedGiftSheet__redeeming_gift">Redeeming gift</string>
<string name="ViewReceivedGiftSheet__redeeming_badge">Redeeming badge</string>
<!-- Snackbar text when user presses "not now" on redemption sheet -->
<string name="ConversationFragment__you_can_redeem_your_badge_later">You can redeem your badge later.</string>
<!-- Description text in gift thanks sheet -->
<string name="GiftThanksSheet__youve_gifted_a_badge_to_s">You\'ve gifted a badge to %1$s. When they accept, they\'ll be given a choice to show or hide their badge.</string>
<string name="GiftThanksSheet__youve_made_a_donation">Youve made a donation to Signal on behalf of %1$s. Theyll be given the option to show their support on their profile.</string>
<!-- Expired gift sheet title -->
<string name="ExpiredGiftSheetConfiguration__your_gift_badge_has_expired">Your gift badge has expired</string>
<string name="ExpiredGiftSheetConfiguration__your_badge_has_expired">Your badge has expired</string>
<!-- Expired gift sheet top description text -->
<string name="ExpiredGiftSheetConfiguration__your_gift_badge_has_expired_and_is">Your gift badge has expired, and is no longer visible to others on your profile.</string>
<string name="ExpiredGiftSheetConfiguration__your_badge_has_expired_and_is">Your badge has expired, and is no longer visible to others on your profile.</string>
<!-- Expired gift sheet bottom description text -->
<string name="ExpiredGiftSheetConfiguration__to_continue">To continue supporting technology that is built for you, please consider becoming a monthly Sustainer.</string>
<!-- Expired gift sheet make a monthly donation button -->
@ -5095,12 +5096,12 @@
<string name="ContactSearchMediator__delete_the_custom">Delete the custom story \"%1$s\"?</string>
<!-- Dialog action item for deleting a custom story -->
<string name="ContactSearchMediator__delete">Delete</string>
<!-- Gift expiry days remaining -->
<!-- Donation for a friend expiry days remaining -->
<plurals name="Gifts__d_days_remaining">
<item quantity="one">%1$d days remaining</item>
<item quantity="other">%1$d days remaining</item>
</plurals>
<!-- Gift expiry hours remaining -->
<!-- Donation for a friend expiry hours remaining -->
<plurals name="Gifts__d_hours_remaining">
<item quantity="one">%1$d hours remaining</item>
<item quantity="other">%1$d hours remaining</item>
@ -5110,7 +5111,7 @@
<item quantity="one">%1$d minute remaining</item>
<item quantity="other">%1$d minutes remaining</item>
</plurals>
<!-- Gift expiry expired -->
<!-- Donation for a friend expiry expired -->
<string name="Gifts__expired">Expired</string>
<!-- Label indicating that a user can tap to advance to the next post in a story -->
@ -5413,8 +5414,8 @@
</plurals>
<!-- Button label for paying with a credit card -->
<string name="GatewaySelectorBottomSheet__credit_or_debit_card">Credit or debit card</string>
<!-- Sheet summary when giving a gift -->
<string name="GatewaySelectorBottomSheet__send_a_gift_badge">Send a gift badge</string>
<!-- Sheet summary when giving donating for a friend -->
<string name="GatewaySelectorBottomSheet__donate_for_a_friend">Donate for a friend</string>
<!-- StripePaymentInProgressFragment -->
<string name="StripePaymentInProgressFragment__cancelling">Cancelling…</string>