Fix translations on Android using PROCESS_TEXT intent (#8486)
* use intents to translate text on android * clean up config plugins * restore day night plugin just to be safe * leave a comment for why we can't open translate directly * add todo * fix lockfile lint
This commit is contained in:
@@ -12,7 +12,7 @@ import {useLingui} from '@lingui/react'
|
||||
|
||||
import {useActorStatus} from '#/lib/actor-status'
|
||||
import {useOpenComposer} from '#/lib/hooks/useOpenComposer'
|
||||
import {useOpenLink} from '#/lib/hooks/useOpenLink'
|
||||
import {useTranslate} from '#/lib/hooks/useTranslate'
|
||||
import {makeProfileLink} from '#/lib/routes/links'
|
||||
import {sanitizeDisplayName} from '#/lib/strings/display-names'
|
||||
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||
@@ -509,14 +509,10 @@ function ExpandedPostDetails({
|
||||
}) {
|
||||
const t = useTheme()
|
||||
const {_, i18n} = useLingui()
|
||||
const openLink = useOpenLink()
|
||||
const translate = useTranslate()
|
||||
const isRootPost = !('reply' in post.record)
|
||||
const langPrefs = useLanguagePrefs()
|
||||
|
||||
const translatorUrl = getTranslatorLink(
|
||||
post.record?.text || '',
|
||||
langPrefs.primaryLanguage,
|
||||
)
|
||||
const needsTranslation = useMemo(
|
||||
() =>
|
||||
Boolean(
|
||||
@@ -529,7 +525,7 @@ function ExpandedPostDetails({
|
||||
const onTranslatePress = useCallback(
|
||||
(e: GestureResponderEvent) => {
|
||||
e.preventDefault()
|
||||
openLink(translatorUrl, true)
|
||||
translate(post.record.text || '', langPrefs.primaryLanguage)
|
||||
|
||||
if (
|
||||
bsky.dangerousIsType<AppBskyFeedPost.Record>(
|
||||
@@ -546,7 +542,7 @@ function ExpandedPostDetails({
|
||||
|
||||
return false
|
||||
},
|
||||
[openLink, translatorUrl, langPrefs, post],
|
||||
[translate, langPrefs, post],
|
||||
)
|
||||
|
||||
return (
|
||||
@@ -566,7 +562,12 @@ function ExpandedPostDetails({
|
||||
</Text>
|
||||
|
||||
<InlineLinkText
|
||||
to={translatorUrl}
|
||||
// overridden to open an intent on android, but keep
|
||||
// as anchor tag for accessibility
|
||||
to={getTranslatorLink(
|
||||
post.record.text,
|
||||
langPrefs.primaryLanguage,
|
||||
)}
|
||||
label={_(msg`Translate`)}
|
||||
style={[a.text_sm]}
|
||||
onPress={onTranslatePress}>
|
||||
|
||||
Reference in New Issue
Block a user