Deduplicate common strings in translation (#5085)

* deduplicate common strings, part 1

* deduplicate common strings, part 2

* typo and general import mess fixes

* detail common string

* fix lint

* fix lint TWO

* adress review concerns + lint

* app lint too

* actually leave privateLabel untouched

* lint fix THREE

* fix: broken msg

* fix: lint

---------

Co-authored-by: Calum H. <contact@cal.engineer>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
lumiscosity
2026-01-28 19:10:50 +01:00
committed by GitHub
parent 400c571fe6
commit 6d68d50699
31 changed files with 279 additions and 624 deletions

View File

@@ -516,18 +516,18 @@
<div class="font-bold text-contrast">
<template v-if="method.type === 'card'">
{{
formatMessage(messages.paymentMethodCardDisplay, {
formatMessage(paymentMethodMessages.paymentMethodCardDisplay, {
card_brand:
formatMessage(paymentMethodTypes[method.card.brand]) ??
formatMessage(paymentMethodTypes.unknown),
formatMessage(paymentMethodMessages[method.card.brand]) ??
formatMessage(paymentMethodMessages.unknown),
last_four: method.card.last4,
})
}}
</template>
<template v-else>
{{
formatMessage(paymentMethodTypes[method.type]) ??
formatMessage(paymentMethodTypes.unknown)
formatMessage(paymentMethodMessages[method.type]) ??
formatMessage(paymentMethodMessages.unknown)
}}
</template>
</div>
@@ -621,6 +621,7 @@ import {
getPaymentMethodIcon,
injectNotificationManager,
OverflowMenu,
paymentMethodMessages,
PurchaseModal,
ServerListing,
useVIntl,
@@ -721,10 +722,6 @@ const messages = defineMessages({
id: 'settings.billing.payment_method.action.primary',
defaultMessage: 'Make primary',
},
paymentMethodCardDisplay: {
id: 'settings.billing.payment_method.card_display',
defaultMessage: '{card_brand} ending in {last_four}',
},
paymentMethodCardExpiry: {
id: 'settings.billing.payment_method.card_expiry',
defaultMessage: 'Expires {month}/{year}',
@@ -739,33 +736,6 @@ const messages = defineMessages({
},
})
const paymentMethodTypes = defineMessages({
visa: {
id: 'settings.billing.payment_method_type.visa',
defaultMessage: 'Visa',
},
amex: { id: 'settings.billing.payment_method_type.amex', defaultMessage: 'American Express' },
diners: { id: 'settings.billing.payment_method_type.diners', defaultMessage: 'Diners Club' },
discover: { id: 'settings.billing.payment_method_type.discover', defaultMessage: 'Discover' },
eftpos: { id: 'settings.billing.payment_method_type.eftpos', defaultMessage: 'EFTPOS' },
jcb: { id: 'settings.billing.payment_method_type.jcb', defaultMessage: 'JCB' },
mastercard: {
id: 'settings.billing.payment_method_type.mastercard',
defaultMessage: 'MasterCard',
},
unionpay: { id: 'settings.billing.payment_method_type.unionpay', defaultMessage: 'UnionPay' },
paypal: { id: 'settings.billing.payment_method_type.paypal', defaultMessage: 'PayPal' },
cashapp: { id: 'settings.billing.payment_method_type.cashapp', defaultMessage: 'Cash App' },
amazon_pay: {
id: 'settings.billing.payment_method_type.amazon_pay',
defaultMessage: 'Amazon Pay',
},
unknown: {
id: 'settings.billing.payment_method_type.unknown',
defaultMessage: 'Unknown payment method',
},
})
const [
{ data: paymentMethods, refresh: refreshPaymentMethods },
{ data: charges, refresh: refreshCharges },

View File

@@ -46,12 +46,12 @@
"
>
<UndoIcon />
{{ formatMessage(messages.profilePictureReset) }}
{{ formatMessage(commonMessages.resetButton) }}
</Button>
</div>
</div>
<label for="username-field">
<span class="label__title">{{ formatMessage(messages.usernameTitle) }}</span>
<span class="label__title">{{ formatMessage(commonMessages.usernameLabel) }}</span>
<span class="label__description">
{{ formatMessage(messages.usernameDescription) }}
</span>
@@ -120,14 +120,6 @@ const messages = defineMessages({
id: 'settings.profile.profile-picture.title',
defaultMessage: 'Profile picture',
},
profilePictureReset: {
id: 'settings.profile.profile-picture.reset',
defaultMessage: 'Reset',
},
usernameTitle: {
id: 'settings.profile.username.title',
defaultMessage: 'Username',
},
usernameDescription: {
id: 'settings.profile.username.description',
defaultMessage: 'A unique case-insensitive name to identify your profile.',