Use isTranslationSupported from expo-translate-text (#10108)

This commit is contained in:
DS Boyce
2026-03-23 09:56:35 -07:00
committed by GitHub
parent f08bf5fef9
commit 21d8b07bfe
3 changed files with 6 additions and 7 deletions
-3
View File
@@ -49,6 +49,3 @@ export const IS_WEB_FIREFOX: boolean = false
export const IS_HIGH_DPI: boolean = true
// ideally we'd use isLiquidGlassAvailable() from expo-glass-effect but checking iOS version is good enough for now
export const IS_LIQUID_GLASS: boolean = iOSMajorVersion >= 26
// So we can avoid attempting on-device translation when we know it's unsupported.
export const HAS_ON_DEVICE_TRANSLATION: boolean =
(IS_IOS && iOSMajorVersion >= 18) || IS_ANDROID
-1
View File
@@ -48,4 +48,3 @@ export const IS_HIGH_DPI: boolean = window.matchMedia(
'(min-resolution: 2dppx)',
).matches
export const IS_LIQUID_GLASS: boolean = false
export const HAS_ON_DEVICE_TRANSLATION: boolean = false
+6 -3
View File
@@ -1,7 +1,10 @@
import {useCallback, useContext, useEffect, useMemo, useState} from 'react'
import {LayoutAnimation, Platform} from 'react-native'
import {getLocales} from 'expo-localization'
import {onTranslateTask} from '@bsky.app/expo-translate-text'
import {
isTranslationSupported,
onTranslateTask,
} from '@bsky.app/expo-translate-text'
import {type TranslationTaskResult} from '@bsky.app/expo-translate-text/build/ExpoTranslateText.types'
import {useLingui} from '@lingui/react/macro'
import {useFocusEffect} from '@react-navigation/native'
@@ -9,7 +12,7 @@ import {useFocusEffect} from '@react-navigation/native'
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
import {logger} from '#/logger'
import {useAnalytics} from '#/analytics'
import {HAS_ON_DEVICE_TRANSLATION, IS_ANDROID, IS_IOS} from '#/env'
import {IS_ANDROID, IS_IOS} from '#/env'
import {Context} from './context'
import {
type ContextType,
@@ -232,7 +235,7 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
googleTranslate: shouldForceGoogleTranslate,
})
if (shouldForceGoogleTranslate || !HAS_ON_DEVICE_TRANSLATION) {
if (shouldForceGoogleTranslate || !isTranslationSupported()) {
await googleTranslate(
text,
expectedTargetLanguage,