Use isTranslationSupported from expo-translate-text (#10108)
This commit is contained in:
Vendored
-3
@@ -49,6 +49,3 @@ export const IS_WEB_FIREFOX: boolean = false
|
|||||||
export const IS_HIGH_DPI: boolean = true
|
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
|
// 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
|
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
|
|
||||||
|
|||||||
Vendored
-1
@@ -48,4 +48,3 @@ export const IS_HIGH_DPI: boolean = window.matchMedia(
|
|||||||
'(min-resolution: 2dppx)',
|
'(min-resolution: 2dppx)',
|
||||||
).matches
|
).matches
|
||||||
export const IS_LIQUID_GLASS: boolean = false
|
export const IS_LIQUID_GLASS: boolean = false
|
||||||
export const HAS_ON_DEVICE_TRANSLATION: boolean = false
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
import {useCallback, useContext, useEffect, useMemo, useState} from 'react'
|
import {useCallback, useContext, useEffect, useMemo, useState} from 'react'
|
||||||
import {LayoutAnimation, Platform} from 'react-native'
|
import {LayoutAnimation, Platform} from 'react-native'
|
||||||
import {getLocales} from 'expo-localization'
|
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 {type TranslationTaskResult} from '@bsky.app/expo-translate-text/build/ExpoTranslateText.types'
|
||||||
import {useLingui} from '@lingui/react/macro'
|
import {useLingui} from '@lingui/react/macro'
|
||||||
import {useFocusEffect} from '@react-navigation/native'
|
import {useFocusEffect} from '@react-navigation/native'
|
||||||
@@ -9,7 +12,7 @@ import {useFocusEffect} from '@react-navigation/native'
|
|||||||
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
|
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
import {useAnalytics} from '#/analytics'
|
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 {Context} from './context'
|
||||||
import {
|
import {
|
||||||
type ContextType,
|
type ContextType,
|
||||||
@@ -232,7 +235,7 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
|||||||
googleTranslate: shouldForceGoogleTranslate,
|
googleTranslate: shouldForceGoogleTranslate,
|
||||||
})
|
})
|
||||||
|
|
||||||
if (shouldForceGoogleTranslate || !HAS_ON_DEVICE_TRANSLATION) {
|
if (shouldForceGoogleTranslate || !isTranslationSupported()) {
|
||||||
await googleTranslate(
|
await googleTranslate(
|
||||||
text,
|
text,
|
||||||
expectedTargetLanguage,
|
expectedTargetLanguage,
|
||||||
|
|||||||
Reference in New Issue
Block a user