1
0
mirror of https://github.com/tooot-app/app synced 2025-02-24 15:47:41 +01:00

Merge pull request #214 from tooot-app/main

Release v3.4.1
This commit is contained in:
xmflsct 2022-02-08 22:52:48 +01:00 committed by GitHub
commit 1dd9474d49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 40 additions and 17 deletions

View File

@ -4,7 +4,7 @@
"native": "220206", "native": "220206",
"major": 3, "major": 3,
"minor": 4, "minor": 4,
"patch": 0, "patch": 1,
"expo": "44.0.0" "expo": "44.0.0"
}, },
"description": "tooot app for Mastodon", "description": "tooot app for Mastodon",

View File

@ -53,7 +53,9 @@ const apiTooot = async <T = unknown>({
Accept: '*/*', Accept: '*/*',
...headers ...headers
}, },
...(body && { data: body }) ...(body && { data: body }),
validateStatus: status =>
url.includes('translate') ? status < 500 : status === 200
}) })
.then(response => { .then(response => {
return Promise.resolve({ return Promise.resolve({

View File

@ -32,6 +32,9 @@ const TimelineTranslate = React.memo(
const settingsLanguage = useSelector(getSettingsLanguage) const settingsLanguage = useSelector(getSettingsLanguage)
if (Localization.locale.includes(tootLanguage)) {
return null
}
if (settingsLanguage?.includes(tootLanguage)) { if (settingsLanguage?.includes(tootLanguage)) {
return null return null
} }
@ -88,13 +91,19 @@ const TimelineTranslate = React.memo(
{isError {isError
? t('shared.translate.failed') ? t('shared.translate.failed')
: isSuccess : isSuccess
? t('shared.translate.succeed', { ? typeof data?.error === 'string'
provider: data?.provider, ? t(`shared.translate.${data.error}`)
source: data?.sourceLanguage : t('shared.translate.succeed', {
}) provider: data?.provider,
source: data?.sourceLanguage
})
: t('shared.translate.default')} : t('shared.translate.default')}
</Text>
<Text>
{__DEV__ {__DEV__
? ` Source: ${status.language}; Target: ${settingsLanguage}` ? ` Source: ${status.language}; Target: ${
Localization.locale || settingsLanguage || 'en'
}`
: undefined} : undefined}
</Text> </Text>
{isLoading ? ( {isLoading ? (
@ -105,7 +114,7 @@ const TimelineTranslate = React.memo(
/> />
) : null} ) : null}
</Pressable> </Pressable>
{data {data && data.error === undefined
? data.text.map((d, i) => ( ? data.text.map((d, i) => (
<ParseHTML <ParseHTML
key={i} key={i}

View File

@ -81,7 +81,9 @@
"translate": { "translate": {
"default": "Translate", "default": "Translate",
"succeed": "Translated by {{provider}} from {{source}}", "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": { "header": {
"shared": { "shared": {

View File

@ -12,7 +12,7 @@
"message": "居然刷到底了,喝杯 <0 /> 吧" "message": "居然刷到底了,喝杯 <0 /> 吧"
}, },
"lookback": { "lookback": {
"message": "上次阅读至" "message": "最后阅读于"
}, },
"refresh": { "refresh": {
"fetchPreviousPage": "较新于此的嘟嘟", "fetchPreviousPage": "较新于此的嘟嘟",
@ -81,7 +81,9 @@
"translate": { "translate": {
"default": "翻译", "default": "翻译",
"succeed": "由{{provider}}翻译自{{source}}", "succeed": "由{{provider}}翻译自{{source}}",
"failed": "翻译失败" "failed": "翻译失败",
"source_not_supported": "不支持嘟文的语言",
"target_not_supported": "不支持目标翻译语言"
}, },
"header": { "header": {
"shared": { "shared": {

View File

@ -64,7 +64,7 @@ const SettingsApp: React.FC = () => {
cancelButtonIndex: options.length - 1 cancelButtonIndex: options.length - 1
}, },
buttonIndex => { buttonIndex => {
if (!buttonIndex) return if (buttonIndex === undefined) return
if (buttonIndex < options.length - 1) { if (buttonIndex < options.length - 1) {
analytics('settings_language_press', { analytics('settings_language_press', {
current: i18n.language, current: i18n.language,

View File

@ -3,11 +3,19 @@ import haptics from '@components/haptics'
import { AxiosError } from 'axios' import { AxiosError } from 'axios'
import { QueryFunctionContext, useQuery, UseQueryOptions } from 'react-query' import { QueryFunctionContext, useQuery, UseQueryOptions } from 'react-query'
type Translations = { type Translations =
provider: string | {
sourceLanguage: string error: undefined
text: string[] provider: string
} sourceLanguage: string
text: string[]
}
| {
error: string
provider: undefined
sourceLanguage: undefined
text: undefined
}
export type QueryKeyTranslate = [ export type QueryKeyTranslate = [
'Translate', 'Translate',