Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Significance: patch
Type: changed

Format numbers consistently in response action messages using formatNumber() for proper locale-specific formatting (e.g., thousands separators) in all sprintf calls with _n() pluralization.
97 changes: 49 additions & 48 deletions projects/packages/forms/routes/responses/actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* External dependencies
*/
import jetpackAnalytics from '@automattic/jetpack-analytics';
import { formatNumber } from '@automattic/number-formatters';
import apiFetch from '@wordpress/api-fetch';
import { Icon, Spinner } from '@wordpress/components';
import { store as coreStore } from '@wordpress/core-data';
Expand Down Expand Up @@ -129,14 +130,14 @@ const getGenericErrorMessage = ( numberOfErrors: number ): string => {
return numberOfErrors === 1
? __( 'An error occurred.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'An error occurred for %d response.',
'An error occurred for %d responses.',
'An error occurred for %s response.',
'An error occurred for %s responses.',
numberOfErrors,
'jetpack-forms'
),
numberOfErrors
formatNumber( numberOfErrors )
);
};

Expand Down Expand Up @@ -381,14 +382,14 @@ export function getActions( {
const busyMessage = isUndo
? undoingMessage
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'Moving %d response to spam…',
'Moving %d responses to spam…',
'Moving %s response to spam…',
'Moving %s responses to spam…',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createInfoNotice( busyMessage, {
Expand Down Expand Up @@ -431,14 +432,14 @@ export function getActions( {
items.length === 1
? __( 'Response marked as spam.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response marked as spam.',
'%d responses marked as spam.',
'%s response marked as spam.',
'%s responses marked as spam.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

if ( ! isUndo ) {
Expand Down Expand Up @@ -521,14 +522,14 @@ export function getActions( {
const busyMessage = isUndo
? undoingMessage
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'Marking %d response as not spam…',
'Marking %d responses as not spam…',
'Marking %s response as not spam…',
'Marking %s responses as not spam…',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createInfoNotice( busyMessage, {
Expand Down Expand Up @@ -566,14 +567,14 @@ export function getActions( {
items.length === 1
? __( 'Response marked as not spam.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response marked as not spam.',
'%d responses marked as not spam.',
'%s response marked as not spam.',
'%s responses marked as not spam.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

if ( ! isUndo ) {
Expand Down Expand Up @@ -654,14 +655,14 @@ export function getActions( {
const busyMessage = isUndo
? undoingMessage
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'Restoring %d response…',
'Restoring %d responses…',
'Restoring %s response…',
'Restoring %s responses…',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createInfoNotice( busyMessage, {
Expand Down Expand Up @@ -698,14 +699,14 @@ export function getActions( {
items.length === 1
? __( 'Response restored.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response restored.',
'%d responses restored.',
'%s response restored.',
'%s responses restored.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

if ( ! isUndo ) {
Expand Down Expand Up @@ -782,14 +783,14 @@ export function getActions( {
const busyMessage = isUndo
? undoingMessage
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'Moving %d response to trash…',
'Moving %d responses to trash…',
'Moving %s response to trash…',
'Moving %s responses to trash…',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createInfoNotice( busyMessage, {
Expand Down Expand Up @@ -830,14 +831,14 @@ export function getActions( {
items.length === 1
? __( 'Response moved to trash.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response moved to trash.',
'%d responses moved to trash.',
'%s response moved to trash.',
'%s responses moved to trash.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

if ( ! isUndo ) {
Expand Down Expand Up @@ -939,14 +940,14 @@ export function getActions( {
items.length === 1
? __( 'Response deleted permanently.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response deleted permanently.',
'%d responses deleted permanently.',
'%s response deleted permanently.',
'%s responses deleted permanently.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createSuccessNotice( successMessage, { type: 'snackbar', id: 'delete-action' } );
Expand Down Expand Up @@ -1064,14 +1065,14 @@ export function getActions( {
items.length === 1
? __( 'Response marked as read.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response marked as read.',
'%d responses marked as read.',
'%s response marked as read.',
'%s responses marked as read.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createSuccessNotice( successMessage, {
Expand Down Expand Up @@ -1173,14 +1174,14 @@ export function getActions( {
items.length === 1
? __( 'Response marked as unread.', 'jetpack-forms' )
: sprintf(
/* translators: %d: the number of responses. */
/* translators: %s: the number of responses. */
_n(
'%d response marked as unread.',
'%d responses marked as unread.',
'%s response marked as unread.',
'%s responses marked as unread.',
items.length,
'jetpack-forms'
),
items.length
formatNumber( items.length )
);

createSuccessNotice( successMessage, {
Expand Down
1 change: 1 addition & 0 deletions projects/packages/forms/routes/responses/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"@automattic/color-studio": "4.1.0",
"@automattic/jetpack-analytics": "workspace:*",
"@automattic/jetpack-components": "workspace:*",
"@automattic/number-formatters": "workspace:*",
"@automattic/ui": "1.0.2",
"@tanstack/react-router": ">=1.120.5 <1.121.0",
"@types/react": "18.3.26",
Expand Down
Loading