Plural formatting for accessibility unread items strings (#7743)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import React, {ComponentProps} from 'react'
|
||||
import {Linking, ScrollView, TouchableOpacity, View} from 'react-native'
|
||||
import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
||||
import {msg, Plural, Trans} from '@lingui/macro'
|
||||
import {msg, Plural, plural, Trans} from '@lingui/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
import {StackActions, useNavigation} from '@react-navigation/native'
|
||||
|
||||
@@ -450,7 +450,12 @@ let NotificationsMenuItem = ({
|
||||
accessibilityHint={
|
||||
numUnreadNotifications === ''
|
||||
? ''
|
||||
: _(msg`${numUnreadNotifications} unread`)
|
||||
: _(
|
||||
msg`${plural(numUnreadNotifications ?? 0, {
|
||||
one: '# unread item',
|
||||
other: '# unread items',
|
||||
})}` || '',
|
||||
)
|
||||
}
|
||||
count={numUnreadNotifications}
|
||||
bold={isActive}
|
||||
|
||||
@@ -2,7 +2,7 @@ import React, {ComponentProps} from 'react'
|
||||
import {GestureResponderEvent, View} from 'react-native'
|
||||
import Animated from 'react-native-reanimated'
|
||||
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 {BottomTabBarProps} from '@react-navigation/bottom-tabs'
|
||||
import {StackActions} from '@react-navigation/native'
|
||||
@@ -204,7 +204,12 @@ export function BottomBar({navigation}: BottomTabBarProps) {
|
||||
accessibilityLabel={_(msg`Chat`)}
|
||||
accessibilityHint={
|
||||
numUnreadMessages.count > 0
|
||||
? _(msg`${numUnreadMessages.numUnread} unread items`)
|
||||
? _(
|
||||
msg`${plural(numUnreadMessages.numUnread ?? 0, {
|
||||
one: '# unread item',
|
||||
other: '# unread items',
|
||||
})}` || '',
|
||||
)
|
||||
: ''
|
||||
}
|
||||
/>
|
||||
@@ -231,7 +236,12 @@ export function BottomBar({navigation}: BottomTabBarProps) {
|
||||
accessibilityHint={
|
||||
numUnreadNotifications === ''
|
||||
? ''
|
||||
: _(msg`${numUnreadNotifications} unread items`)
|
||||
: _(
|
||||
msg`${plural(numUnreadNotifications ?? 0, {
|
||||
one: '# unread item',
|
||||
other: '# unread items',
|
||||
})}` || '',
|
||||
)
|
||||
}
|
||||
/>
|
||||
<Btn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react'
|
||||
import {View} from 'react-native'
|
||||
import Animated from 'react-native-reanimated'
|
||||
import {msg, Trans} from '@lingui/macro'
|
||||
import {msg, plural, Trans} from '@lingui/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
import {useNavigationState} from '@react-navigation/native'
|
||||
|
||||
@@ -269,7 +269,12 @@ const NavItem: React.FC<{
|
||||
{notificationCount ? (
|
||||
<View
|
||||
style={styles.notificationCount}
|
||||
aria-label={_(msg`${notificationCount} unread items`)}>
|
||||
aria-label={_(
|
||||
msg`${plural(notificationCount, {
|
||||
one: '# unread item',
|
||||
other: '# unread items',
|
||||
})}`,
|
||||
)}>
|
||||
<Text style={styles.notificationCountLabel}>{notificationCount}</Text>
|
||||
</View>
|
||||
) : hasNew ? (
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from 'react'
|
||||
import {StyleSheet, View} from 'react-native'
|
||||
import {AppBskyActorDefs} from '@atproto/api'
|
||||
import {FontAwesomeIconStyle} from '@fortawesome/react-native-fontawesome'
|
||||
import {msg, Trans} from '@lingui/macro'
|
||||
import {msg, plural, Trans} from '@lingui/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
import {
|
||||
useLinkProps,
|
||||
@@ -384,7 +384,12 @@ function NavItem({count, hasNew, href, icon, iconFilled, label}: NavItemProps) {
|
||||
{right: -20}, // more breathing room
|
||||
]}>
|
||||
<Text
|
||||
accessibilityLabel={_(msg`${count} unread items`)}
|
||||
accessibilityLabel={_(
|
||||
msg`${plural(count, {
|
||||
one: '# unread item',
|
||||
other: '# unread items',
|
||||
})}`,
|
||||
)}
|
||||
accessibilityHint=""
|
||||
accessible={true}
|
||||
numberOfLines={1}
|
||||
|
||||
Reference in New Issue
Block a user