feat: replace links in status after translated (#2385)

Co-authored-by: patak <matias.capeletto@gmail.com>
This commit is contained in:
Sma11X 2023-10-13 15:12:48 +08:00 committed by GitHub
parent ca0afe585d
commit e9f274f304
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -65,6 +65,7 @@ export async function translateText(text: string, from: string | null | undefine
error: '',
text: '',
})
const regex = /<a[^>]*>.*?<\/a>/g
try {
const response = await ($fetch as any)(config.public.translateApi, {
method: 'POST',
@ -77,7 +78,11 @@ export async function translateText(text: string, from: string | null | undefine
},
}) as TranslationResponse
status.success = true
status.text = response.translatedText
// replace the translated links with the original
status.text = response.translatedText.replace(regex, (match) => {
const tagLink = regex.exec(text)
return tagLink ? tagLink[0] : match
})
}
catch (err) {
// TODO: improve type