From 3b9f0b0a6869ca54ec46a6c53b67daf68fdc263e Mon Sep 17 00:00:00 2001 From: surfdude29 <149612116+surfdude29@users.noreply.github.com> Date: Mon, 16 Feb 2026 21:10:57 +0000 Subject: [PATCH] Add plural formatting for several strings (#9576) --- .../PostControls/PostMenu/PostMenuItems.tsx | 7 +++---- src/screens/Signup/StepInfo/index.tsx | 18 +++++++++--------- .../com/composer/videos/SubtitleDialog.tsx | 7 +++++-- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/components/PostControls/PostMenu/PostMenuItems.tsx b/src/components/PostControls/PostMenu/PostMenuItems.tsx index 0dc204534c..2ed462a134 100644 --- a/src/components/PostControls/PostMenu/PostMenuItems.tsx +++ b/src/components/PostControls/PostMenu/PostMenuItems.tsx @@ -13,7 +13,7 @@ import { AtUri, type RichText as RichTextAPI, } from '@atproto/api' -import {msg} from '@lingui/macro' +import {msg, plural} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useNavigation} from '@react-navigation/native' @@ -384,9 +384,8 @@ let PostMenuItems = ({ if (e instanceof MaxHiddenRepliesError) { Toast.show( _( - msg({ - message: `You can hide a maximum of ${MAX_HIDDEN_REPLIES} replies.`, - context: 'toast', + plural(MAX_HIDDEN_REPLIES, { + other: 'You can hide a maximum of # replies.', }), ), ) diff --git a/src/screens/Signup/StepInfo/index.tsx b/src/screens/Signup/StepInfo/index.tsx index be679613d5..e1d20ca73f 100644 --- a/src/screens/Signup/StepInfo/index.tsx +++ b/src/screens/Signup/StepInfo/index.tsx @@ -1,6 +1,6 @@ import React, {useRef} from 'react' import {type TextInput, View} from 'react-native' -import {msg, Trans} from '@lingui/macro' +import {msg, Plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import * as EmailValidator from 'email-validator' import type tldts from 'tldts' @@ -312,15 +312,15 @@ export function StepInfo({ {!isOverAppMinAccessAge ? ( - - You must be {MIN_ACCESS_AGE} years of age or older - to create an account. - + ) : ( - - You must be {aaRegionConfig.minAccessAge} years of - age or older to create an account in your region. - + )} {IS_NATIVE && diff --git a/src/view/com/composer/videos/SubtitleDialog.tsx b/src/view/com/composer/videos/SubtitleDialog.tsx index 0f2a97d95d..f0f01bdce2 100644 --- a/src/view/com/composer/videos/SubtitleDialog.tsx +++ b/src/view/com/composer/videos/SubtitleDialog.tsx @@ -1,6 +1,6 @@ import {useCallback, useState} from 'react' import {Keyboard, type StyleProp, View, type ViewStyle} from 'react-native' -import {msg, Trans} from '@lingui/macro' +import {msg, Plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {MAX_ALT_TEXT} from '#/lib/constants' @@ -134,7 +134,10 @@ function SubtitleDialogInner({ a.leading_snug, a.mt_md, ]}> - Alt text must be less than {MAX_ALT_TEXT} characters. + )}