TacoTranslate gebruiken
Strings vertalen
Er zijn momenteel drie manieren om strings te vertalen: het Translate
component, de useTranslation
hook, of de translateEntries
utility.
Het gebruik van de Translate
component.
Toont vertalingen binnen een span
element en ondersteunt het weergeven van HTML.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
U kunt het elementtype wijzigen door bijvoorbeeld as="p"
op de component te gebruiken.
Het gebruik van de useTranslation
hook.
Geeft vertalingen terug als een gewone tekenreeks. Handig, bijvoorbeeld in meta
tags.
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>
);
}
Het gebruik van de translateEntries
utility.
Vertaal strings op de server. Maak je OpenGraph afbeeldingen krachtiger.
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)
};
}
Hoe strings worden vertaald
Wanneer strings onze servers bereiken, valideren en slaan we ze eerst op en geven we vervolgens onmiddellijk een machinevertaling terug. Hoewel machinevertalingen over het algemeen van lagere kwaliteit zijn dan onze AI-vertalingen, bieden ze een snelle eerste reactie.
Tegelijkertijd starten we een asynchrone vertaataak om een hoogwaardige, geavanceerde AI-vertaling voor uw string te genereren. Zodra de AI-vertaling klaar is, zal deze de machinevertaling vervangen en worden verzonden telkens wanneer u vertalingen voor uw strings opvraagt.
Als u een string handmatig hebt vertaald, hebben die vertalingen voorrang en worden ze in plaats daarvan teruggegeven.
Origins gebruiken
TacoTranslate-projecten bevatten wat we origins noemen. Zie ze als toegangspunten, mappen of groepen voor je strings en vertalingen.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Origins stellen je in staat om strings in betekenisvolle containers te scheiden. Bijvoorbeeld kun je één origin voor documentatie hebben en een andere voor je marketingpagina.
Voor meer fijnmazige controle kunt u origins op componentniveau instellen.
Om dit te bereiken, overweeg meerdere TacoTranslate aanbieders te gebruiken binnen uw project.
Houd er rekening mee dat dezelfde string in verschillende origins verschillende vertalingen kan krijgen.
Uiteindelijk is het aan u en uw behoeften hoe u strings in origins verdeelt. Houd er echter rekening mee dat veel strings binnen één origin de laadtijden kunnen verhogen.
Omgaan met variabelen
Je moet altijd variabelen gebruiken voor dynamische inhoud, zoals gebruikersnamen, datums, e-mailadressen en meer.
Variabelen in tekenreeksen worden gedeclareerd met dubbele haken, zoals {{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-inhoud beheren
Standaard ondersteunt en rendert de Translate
component HTML-inhoud. u kunt dit gedrag echter uitschakelen door useDangerouslySetInnerHTML
in te stellen op false
.
Het uitschakelen van de HTML-weergave wordt sterk aanbevolen bij het vertalen van niet-vertrouwde inhoud, zoals door gebruikers gegenereerde inhoud.
Alle uitvoer wordt altijd met sanitize-html geschoond voordat deze wordt gerenderd.
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}
/>
);
}
Het bovenstaande voorbeeld wordt als platte tekst weergegeven.