Rename translation hooks

This commit is contained in:
DS Boyce
2026-03-03 11:18:19 -08:00
parent 701b1ed0c6
commit a9eba81c4a
4 changed files with 15 additions and 28 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ import {type ChatBskyConvoDefs, RichText} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {useTranslate} from '#/lib/hooks/useTranslate'
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
import {richTextToString} from '#/lib/strings/rich-text-helpers'
import {useConvoActive} from '#/state/messages/convo'
import {useLanguagePrefs} from '#/state/preferences'
@@ -41,7 +41,7 @@ export let MessageContextMenu = ({
const reportControl = usePromptControl()
const blockOrDeleteControl = usePromptControl()
const langPrefs = useLanguagePrefs()
const translate = useTranslate()
const translate = useGoogleTranslate()
const isFromSelf = message.sender?.did === currentAccount?.did
@@ -54,12 +54,12 @@ export let MessageContextMenu = ({
true,
)
Clipboard.setStringAsync(str)
void Clipboard.setStringAsync(str)
Toast.show(_(msg`Copied to clipboard`), 'clipboard-check')
}, [_, message.text, message.facets])
const onPressTranslateMessage = useCallback(() => {
translate(message.text, langPrefs.primaryLanguage)
void translate(message.text, langPrefs.primaryLanguage)
ax.metric('translate', {
sourceLanguages: [],
@@ -6,10 +6,9 @@ import {getTranslatorLink} from '#/locale/helpers'
import {IS_ANDROID} from '#/env'
/**
* Will always link out to Google Translate. If inline translation is desired,
* use `useTranslateOnDevice`
* @deprecated Will always link out to Google Translate. Prefer `useTranslate`.
*/
export function useTranslate() {
export function useGoogleTranslate() {
const openLink = useOpenLink()
return useCallback(
+5 -11
View File
@@ -4,8 +4,7 @@ import {getLocales} from 'expo-localization'
import {type TranslationTaskResult} from '@bsky.app/expo-translate-text/build/ExpoTranslateText.types'
import {useFocusEffect} from '@react-navigation/native'
import {useOpenLink} from '#/lib/hooks/useOpenLink'
import {getTranslatorLink} from '#/locale/helpers'
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
import {logger} from '#/logger'
import {useLanguagePrefs} from '#/state/preferences'
import {useAnalytics} from '#/analytics'
@@ -111,9 +110,9 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
Record<string, TranslationState>
>({})
const [refCounts, setRefCounts] = useState<Record<string, number>>({})
const openLink = useOpenLink()
const ax = useAnalytics()
const {primaryLanguage} = useLanguagePrefs()
const googleTranslate = useGoogleTranslate()
useEffect(() => {
setTranslationState(prev => {
@@ -171,11 +170,6 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
sourceLangCode?: string,
options?: Options,
) => {
const translateUrl = getTranslatorLink(
text,
targetLangCode,
sourceLangCode,
)
if (options?.googleTranslate) {
ax.metric('translate:result', {
method: 'google-translate',
@@ -183,7 +177,7 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
sourceLanguage: sourceLangCode ?? null,
targetLanguage: targetLangCode,
})
await openLink(translateUrl)
await googleTranslate(text, targetLangCode, sourceLangCode)
return
}
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
@@ -228,10 +222,10 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
...prev,
[key]: {status: 'idle'},
}))
await openLink(translateUrl)
await googleTranslate(text, targetLangCode, sourceLangCode)
}
},
[ax, openLink, primaryLanguage],
[ax, googleTranslate, primaryLanguage],
)
const ctx = useMemo(
+4 -10
View File
@@ -1,7 +1,6 @@
import {useCallback, useContext, useMemo} from 'react'
import {useOpenLink} from '#/lib/hooks/useOpenLink'
import {getTranslatorLink} from '#/locale/helpers'
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
import {useLanguagePrefs} from '#/state/preferences'
import {useAnalytics} from '#/analytics'
import {Context} from './context'
@@ -29,9 +28,9 @@ export function useTranslateOnDevice() {
}
export function Provider({children}: React.PropsWithChildren<unknown>) {
const openLink = useOpenLink()
const ax = useAnalytics()
const {primaryLanguage} = useLanguagePrefs()
const googleTranslate = useGoogleTranslate()
const translate = useCallback(
async (
@@ -47,14 +46,9 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
sourceLanguage: sourceLangCode ?? null,
targetLanguage: targetLangCode,
})
const translateUrl = getTranslatorLink(
text,
targetLangCode,
sourceLangCode,
)
await openLink(translateUrl)
await googleTranslate(text, targetLangCode, sourceLangCode)
},
[ax, openLink, primaryLanguage],
[ax, googleTranslate, primaryLanguage],
)
const ctx = useMemo(