TacoTranslate izmantošana
Tulkošanas virknes
Pašlaik ir trīs veidi, kā tulkot virknes: Translate
komponents, useTranslation
āķis vai translateEntries
utilīta.
Izmantojot komponentu Translate
Atgriež 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
taustiņu.
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ē. Paātriniet 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ā virknes tiek tulkotas
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šīntulkotu versiju. 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 darbu, lai ģenerētu augstas kvalitātes, modernu AI tulkojumu jūsu virknei. Tiklīdz AI tulkojums ir gatavs, tas aizstās mašīntulkojumu un tiks nosūtīts ikreiz, kad pieprasīsiet tulkojumus savām virkēm.
Ja esat manuāli pārtulkojis virkni, šie tulkojumi ir prioritāri un tiek atgriezti to vietā.
Originu izmantošana
TacoTranslate projekti satur to, ko mēs saucam par origins. Uzskatiet tos 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 jēgpilnās konteineros. Piemēram, jums var būt viens origins dokumentācijai un cits jūsu mārketinga lapai.
Lai iegūtu sīkāku kontroli, jūs varētu iestatīt origīnus 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žādos izcelsmes avotos var saņemt dažādas tulkojumus.
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 virknju esamība vienā izcelsmē 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 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
Pēc noklusējuma Translate
komponents atbalsta un attēlo HTML saturu. Tomēr jūs varat atslēgt šo funkciju, iestatot useDangerouslySetInnerHTML
uz false
.
HTML renderēšanas atspējošana ir stingri ieteicama, tulkojot neuzticamu saturu, piemēram, lietotāju ģenerētu saturu.
Visi izvadi vienmēr tiek attīrīti ar sanitize-html pirms to 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ā parasts teksts.