Izmantojot TacoTranslate
Tekstu tulkošana
Pašlaik ir trīs veidi, kā tulkot virknes: Translate
komponents, useTranslation
āķis vai translateEntries
utilīta.
Izmantojot komponentu Translate
.
Izvada tulkojumus span
elementā un atbalsta HTML renderēšanu.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Jūs varat mainīt elementa tipu, piemēram, izmantojot as="p"
komponentā.
Izmantojot useTranslation
funkciju.
Atgriež tulkojumus kā vienkāršu tekstu. Noderīgi, piemēram, meta
tagos.
import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';
function Page() {
const helloWorld = useTranslation('Hello, world!');
useEffect(() => {
alert(helloWorld);
}, [helloWorld]);
return (
<title>{useTranslation('My page title')}</title>
);
}
Izmantojot translateEntries
utilītu.
Tulkojiet virknes servera pusē. Uzlabojiet savus OpenGraph attēlus.
import {createEntry, translateEntries} from 'tacotranslate';
async function generateMetadata(locale = 'es') {
const title = createEntry({string: 'Hello, world!'});
const description = createEntry({string: 'TacoTranslate on the server'});
const translations = await translateEntries(
tacoTranslate,
{origin: 'opengraph', locale},
[title, description]
);
return {
title: translations(title),
description: translations(description)
};
}
Kā tiek tulkotas virknes
Kad virknes nonāk mūsu serveros, mēs vispirms tās pārbaudām un saglabājam, pēc tam tūlīt atgriežam mašīntulkojumu. Lai gan mašīntulkojumi parasti ir zemākas kvalitātes salīdzinājumā ar mūsu AI tulkojumiem, tie nodrošina ātru sākotnējo atbildi.
Vienlaikus mēs uzsākam asinhronu tulkošanas uzdevumu, lai ģenerētu augstas kvalitātes, modernu AI tulkojumu jūsu tekstam. Kad AI tulkojums būs gatavs, tas aizstās mašīntulkojumu un tiks nosūtīts katru reizi, kad pieprasīsiet tulkojumus saviem tekstiem.
Ja esat manuāli pārtulkojis tekstu, šie tulkojumi ir prioritāri un tiek atgriezti tā vietā.
Izmantojot izcelsmes vietas
TacoTranslate projekti satur to, ko mēs saucam par oriģināliem. Uzskatiet tos par ieejas punktiem, mapēm vai grupām jūsu virkņu un tulkojumu organizēšanai.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Origins ļauj jums sadalīt virknes nozīmīgos konteineros. Piemēram, jums var būt viens origins dokumentācijai un cits jūsu mārketinga lapai.
Lai iegūtu precīzāku kontroli, jūs varētu iestatīt origins komponenta līmenī.
Lai to sasniegtu, apsveriet iespēju projektā izmantot vairākus TacoTranslate pakalpojumu sniedzējus.
Lūdzu, ņemiet vērā, ka viena un tā pati virkne dažādās izcelsmēs var saņemt atšķirīgas tulkojumus.
Galvenokārt, kā jūs atdalāt virknes pa izcelsmēm, ir atkarīgs no jums un jūsu vajadzībām. Tomēr ņemiet vērā, ka, ja vienā izcelsmē ir daudz virkņu, tas var palielināt ielādes laikus.
Mainīgo apstrāde
Jums vienmēr jāizmanto mainīgie dinamiskam saturam, piemēram, lietotājvārdiem, datumiem, e-pasta adresēm un tamlīdzīgi.
Mainīgie virkņu tekstā tiek deklarēti, izmantojot dubultās iekavas, piemēram, {{variable}}
.
import {Translate} from 'tacotranslate/react';
function Greeting() {
const name = 'Juan';
return <Translate string="Hello, {{name}}!" variables={{name}} />;
}
import {useTranslation} from 'tacotranslate/react';
function useGreeting() {
const name = 'Juan';
return useTranslation('Hello, {{name}}!', {variables: {name}});
}
HTML satura pārvaldība
Pēc noklusējuma Translate
komponents atbalsta un attēlo HTML saturu. Tomēr jūs varat atteikties no šīs funkcijas, iestatot useDangerouslySetInnerHTML
uz false
.
HTML renderēšanas atspējošana ir stingri ieteicama, tulkojot neuzticamu saturu, piemēram, lietotāju ģenerētu saturu.
Visa izvade vienmēr tiek attīrīta ar sanitize-html pirms tiek rādīta.
import {Translate} from 'tacotranslate/react';
function Page() {
return (
<Translate
string={`
Welcome to <strong>my</strong> website.
I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
`}
variables={{url: 'https://tacotranslate.com'}}
useDangerouslySetInnerHTML={false}
/>
);
}
Iepriekš minētais piemērs tiks attēlots kā vienkāršs teksts.