diff options
Diffstat (limited to 'src/screens')
-rw-r--r-- | src/screens/Deactivated.tsx | 13 | ||||
-rw-r--r-- | src/screens/Profile/Header/Metrics.tsx | 35 | ||||
-rw-r--r-- | src/screens/Profile/Header/ProfileHeaderLabeler.tsx | 21 |
3 files changed, 42 insertions, 27 deletions
diff --git a/src/screens/Deactivated.tsx b/src/screens/Deactivated.tsx index c2bac7715..08a2232df 100644 --- a/src/screens/Deactivated.tsx +++ b/src/screens/Deactivated.tsx @@ -1,10 +1,9 @@ import React from 'react' import {View} from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' -import {msg, Trans} from '@lingui/macro' +import {msg, plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' -import {pluralize} from '#/lib/strings/helpers' import {logger} from '#/logger' import {isWeb} from '#/platform/detection' import {isSessionDeactivated, useAgent, useSessionApi} from '#/state/session' @@ -205,10 +204,16 @@ function msToString(ms: number | undefined): string | undefined { return undefined } // hours - return `${estimatedTimeHrs} ${pluralize(estimatedTimeHrs, 'hour')}` + return `${estimatedTimeHrs} ${plural(estimatedTimeHrs, { + one: 'hour', + other: 'hours', + })}` } // minutes - return `${estimatedTimeMins} ${pluralize(estimatedTimeMins, 'minute')}` + return `${estimatedTimeMins} ${plural(estimatedTimeMins, { + one: 'minute', + other: 'minutes', + })}` } return undefined } diff --git a/src/screens/Profile/Header/Metrics.tsx b/src/screens/Profile/Header/Metrics.tsx index 8789e0354..6d0a25182 100644 --- a/src/screens/Profile/Header/Metrics.tsx +++ b/src/screens/Profile/Header/Metrics.tsx @@ -1,10 +1,9 @@ import React from 'react' import {View} from 'react-native' import {AppBskyActorDefs} from '@atproto/api' -import {msg, Trans} from '@lingui/macro' +import {msg, plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' -import {pluralize} from '#/lib/strings/helpers' import {Shadow} from '#/state/cache/types' import {makeProfileLink} from 'lib/routes/links' import {formatCount} from 'view/com/util/numeric/format' @@ -21,7 +20,14 @@ export function ProfileHeaderMetrics({ const {_} = useLingui() const following = formatCount(profile.followsCount || 0) const followers = formatCount(profile.followersCount || 0) - const pluralizedFollowers = pluralize(profile.followersCount || 0, 'follower') + const pluralizedFollowers = plural(profile.followersCount || 0, { + one: 'follower', + other: 'followers', + }) + const pluralizedFollowings = plural(profile.followsCount || 0, { + one: 'following', + other: 'following', + }) return ( <View @@ -32,10 +38,12 @@ export function ProfileHeaderMetrics({ style={[a.flex_row, t.atoms.text]} to={makeProfileLink(profile, 'followers')} label={`${followers} ${pluralizedFollowers}`}> - <Text style={[a.font_bold, a.text_md]}>{followers} </Text> - <Text style={[t.atoms.text_contrast_medium, a.text_md]}> - {pluralizedFollowers} - </Text> + <Trans> + <Text style={[a.font_bold, a.text_md]}>{followers} </Text> + <Text style={[t.atoms.text_contrast_medium, a.text_md]}> + {pluralizedFollowers} + </Text> + </Trans> </InlineLinkText> <InlineLinkText testID="profileHeaderFollowsButton" @@ -45,15 +53,18 @@ export function ProfileHeaderMetrics({ <Trans> <Text style={[a.font_bold, a.text_md]}>{following} </Text> <Text style={[t.atoms.text_contrast_medium, a.text_md]}> - following + {pluralizedFollowings} </Text> </Trans> </InlineLinkText> <Text style={[a.font_bold, t.atoms.text, a.text_md]}> - {formatCount(profile.postsCount || 0)}{' '} - <Text style={[t.atoms.text_contrast_medium, a.font_normal, a.text_md]}> - {pluralize(profile.postsCount || 0, 'post')} - </Text> + <Trans> + {formatCount(profile.postsCount || 0)}{' '} + <Text + style={[t.atoms.text_contrast_medium, a.font_normal, a.text_md]}> + {plural(profile.postsCount || 0, {one: 'post', other: 'posts'})} + </Text> + </Trans> </Text> </View> ) diff --git a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx index cbac0b66c..459bd0d95 100644 --- a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx +++ b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx @@ -7,11 +7,10 @@ import { ModerationOpts, RichText as RichTextAPI, } from '@atproto/api' -import {msg, Trans} from '@lingui/macro' +import {msg, Plural, plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {isAppLabeler} from '#/lib/moderation' -import {pluralize} from '#/lib/strings/helpers' import {logger} from '#/logger' import {Shadow} from '#/state/cache/types' import {useModalControls} from '#/state/modals' @@ -283,12 +282,10 @@ let ProfileHeaderLabeler = ({ }, }} size="tiny" - label={_( - msg`Liked by ${likeCount} ${pluralize( - likeCount, - 'user', - )}`, - )}> + label={plural(likeCount, { + one: 'Liked by # user', + other: 'Liked by # users', + })}> {({hovered, focused, pressed}) => ( <Text style={[ @@ -298,9 +295,11 @@ let ProfileHeaderLabeler = ({ (hovered || focused || pressed) && t.atoms.text_contrast_high, ]}> - <Trans> - Liked by {likeCount} {pluralize(likeCount, 'user')} - </Trans> + <Plural + value={likeCount} + one="Liked by # user" + other="Liked by # users" + /> </Text> )} </Link> |