mirror of
https://github.com/tooot-app/app
synced 2025-02-04 04:17:36 +01:00
Improved translation response
This commit is contained in:
parent
11c22907af
commit
311020285d
@ -4,7 +4,7 @@
|
||||
"native": "220206",
|
||||
"major": 3,
|
||||
"minor": 4,
|
||||
"patch": 0,
|
||||
"patch": 1,
|
||||
"expo": "44.0.0"
|
||||
},
|
||||
"description": "tooot app for Mastodon",
|
||||
|
@ -53,7 +53,9 @@ const apiTooot = async <T = unknown>({
|
||||
Accept: '*/*',
|
||||
...headers
|
||||
},
|
||||
...(body && { data: body })
|
||||
...(body && { data: body }),
|
||||
validateStatus: status =>
|
||||
url.includes('translate') ? status < 500 : status === 200
|
||||
})
|
||||
.then(response => {
|
||||
return Promise.resolve({
|
||||
|
@ -32,6 +32,9 @@ const TimelineTranslate = React.memo(
|
||||
|
||||
const settingsLanguage = useSelector(getSettingsLanguage)
|
||||
|
||||
if (Localization.locale.includes(tootLanguage)) {
|
||||
return null
|
||||
}
|
||||
if (settingsLanguage?.includes(tootLanguage)) {
|
||||
return null
|
||||
}
|
||||
@ -88,13 +91,19 @@ const TimelineTranslate = React.memo(
|
||||
{isError
|
||||
? t('shared.translate.failed')
|
||||
: isSuccess
|
||||
? t('shared.translate.succeed', {
|
||||
? typeof data?.error === 'string'
|
||||
? t(`shared.translate.${data.error}`)
|
||||
: t('shared.translate.succeed', {
|
||||
provider: data?.provider,
|
||||
source: data?.sourceLanguage
|
||||
})
|
||||
: t('shared.translate.default')}
|
||||
</Text>
|
||||
<Text>
|
||||
{__DEV__
|
||||
? ` Source: ${status.language}; Target: ${settingsLanguage}`
|
||||
? ` Source: ${status.language}; Target: ${
|
||||
Localization.locale || settingsLanguage || 'en'
|
||||
}`
|
||||
: undefined}
|
||||
</Text>
|
||||
{isLoading ? (
|
||||
@ -105,7 +114,7 @@ const TimelineTranslate = React.memo(
|
||||
/>
|
||||
) : null}
|
||||
</Pressable>
|
||||
{data
|
||||
{data && data.error === undefined
|
||||
? data.text.map((d, i) => (
|
||||
<ParseHTML
|
||||
key={i}
|
||||
|
@ -81,7 +81,9 @@
|
||||
"translate": {
|
||||
"default": "Translate",
|
||||
"succeed": "Translated by {{provider}} from {{source}}",
|
||||
"failed": "Translation failed"
|
||||
"failed": "Translation failed",
|
||||
"source_not_supported": "toot's language is not supported",
|
||||
"target_not_supported": "The target language is not supported"
|
||||
},
|
||||
"header": {
|
||||
"shared": {
|
||||
|
@ -3,11 +3,19 @@ import haptics from '@components/haptics'
|
||||
import { AxiosError } from 'axios'
|
||||
import { QueryFunctionContext, useQuery, UseQueryOptions } from 'react-query'
|
||||
|
||||
type Translations = {
|
||||
type Translations =
|
||||
| {
|
||||
error: undefined
|
||||
provider: string
|
||||
sourceLanguage: string
|
||||
text: string[]
|
||||
}
|
||||
| {
|
||||
error: string
|
||||
provider: undefined
|
||||
sourceLanguage: undefined
|
||||
text: undefined
|
||||
}
|
||||
|
||||
export type QueryKeyTranslate = [
|
||||
'Translate',
|
||||
|
Loading…
x
Reference in New Issue
Block a user