TacoTranslate izmantošana
Vārdu virknju tulkošana
Pašlaik ir trīs veidi, kā tulkot virknes: Translate
komponents, useTranslation
āķis vai translateEntries
rīks.
Izmantojot Translate
komponentu.
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
ķēdi.
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
rīku.
Tulkojiet virknes servera pusē. Padariet savus OpenGraph attēlus daudz spēcīgākus.
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 tulkoti virknes
Kad virknes sasniedz mūsu serverus, mēs vispirms tās pārbaudām un saglabājam, pēc tam nekavējoties 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 asinkronu tulkošanas darbu, lai ģenerētu augstas kvalitātes, modernu AI tulkojumu jūsu virknei. Tiklīdz AI tulkojums būs gatavs, tas aizstās mašīntulkojumu un tiks nosūtīts katru reizi, kad pieprasīsit tulkojumus savām virknei.
Ja esat manuāli pārtulkojis virkni, šie tulkojumi tiek prioritizēti un tiek atgriezti to vietā.
Izmantojot izcelsmes vietas
TacoTranslate projekti satur to, ko mēs saucam par origins. Uzskatiet tos par ieejas punktiem, mapēm vai grupām jūsu virknei un tulkojumiem.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Origins ļauj jums sadalīt virknes jēgpilnās vienībās. Piemēram, varat izmantot vienu origin dokumentācijai un citu savai mārketinga lapai.
Lai iegūtu sīkāku kontroli, varat iestatīt origins komponenta līmenī.
Lai to sasniegtu, apsveriet iespēju lietot vairākus TacoTranslate pakalpojumu sniedzējus savā projektā.
Lūdzu, ņemiet vērā, ka vienai un tai pašai virknei dažādās izcelsmēs var būt atšķirīgas tulkojuma versijas.
Galu galā, kā jūs atdalāt virknes dažādos avotos, ir atkarīgs no jums un jūsu vajadzībām. Tomēr ņemiet vērā, ka liels virkņu skaits vienā avotā var palielināt ielādes laiku.
Mainīgo apstrāde
Jums vienmēr jāizmanto mainīgie dinamiskam saturam, piemēram, lietotāju vā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
Noklusējuma režīmā Translate
komponents atbalsta un ataino HTML saturu. Tomēr jūs varat atteikties no šīs uzvedības, iestatot useDangerouslySetInnerHTML
uz false
.
Iesakām izslēgt HTML attēlošanu, tulkojot neuzticamu saturu, piemēram, lietotāju radītu saturu.
Visa izvade vienmēr tiek attīrīta ar sanitize-html pirms attēlošanas.
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.