TacoTranslate izmantošana
Tulkošanas virknes
Patlaban ir trīs veidi, kā tulkot virknes: Translate
komponents, useTranslation
āķis vai translateEntries
utilīta.
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, izmantojot, piemēram, as="p"
komponentā.
Izmantojot useTranslation
hook.
Atgriež tulkojumus kā parastu 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ē. Papildiniet 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 tulkoti virknējumi
Kad virknes nonāk mūsu serveros, mēs vispirms tās validējam un saglabājam, pēc tam uzreiz 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 procesu, lai ģenerētu augstas kvalitātes, modernas mākslīgā intelekta tulkojumu jūsu virknei. Tiklīdz AI tulkojums ir gatavs, tas aizstās mašīntulkojumu un tiks nosūtīts katru reizi, kad pieprasīsit tulkojumus savām virknēm.
Ja esat manuāli tulkojis virkni, šie tulkojumi ir prioritāri un tiek atgriezti to vietā.
Izmantojot izcelsmes vietas
TacoTranslate projekti satur to, ko mēs saucam par originēm. Uzskatiet tās par ieejas punktiem, mapēm vai grupām jūsu virkņu un tulkojumu pārvaldībai.
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 lielāku kontroli, jūs varat 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 tai pašai virknei dažādos originos var būt atšķirīgas tulkojumu versijas.
Galu galā, kā jūs sadalāt virknes izcelsmēs, ir atkarīgs no jums un jūsu vajadzībām. Tomēr ņemiet vērā, ka daudzu virkņu ievietošana vienā izcelsmē 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 citiem.
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 atveido HTML saturu. Tomēr jūs varat izslēgt šo uzvedību, iestatot useDangerouslySetInnerHTML
uz false
.
HTML atspējošana ir stingri ieteicama, tulkojot neuzticamu saturu, piemēram, lietotāju radītu saturu.
Visa izvade vienmēr tiek tī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.