Gebruik van TacoTranslate
Strings vertalen
Er zijn momenteel drie manieren om strings te vertalen: de Translate
component, de useTranslation
hook, of de translateEntries
utility.
Het gebruik van de Translate
component.
Geeft vertalingen weer 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.
Gebruik van de useTranslation
hook.
Geeft vertalingen terug als een gewone tekststring. Handig in bijvoorbeeld 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>
);
}
Gebruik van de translateEntries
utility.
Vertaal strings aan de serverzijde. Geef je OpenGraph afbeeldingen extra kracht.
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, waarna we onmiddellijk een machinale vertaling teruggeven. Hoewel machinale vertalingen over het algemeen van lagere kwaliteit zijn in vergelijking met onze AI-vertalingen, bieden ze een snelle eerste reactie.
Tegelijkertijd starten we een asynchrone vertaaltaak om een hoogwaardige, geavanceerde AI-vertaling voor je tekst te genereren. Zodra de AI-vertaling klaar is, zal deze de machinevertaling vervangen en worden verzonden wanneer je vertalingen voor je teksten opvraagt.
Als je een string handmatig hebt vertaald, krijgen die vertalingen voorrang en worden die in plaats daarvan geretourneerd.
Gebruik van origins
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 laten je toe om strings te scheiden in betekenisvolle containers. Bijvoorbeeld, je zou één origin kunnen hebben voor documentatie en een andere voor je marketingpagina.
Voor meer gedetailleerde controle kunt u origins op componentniveau instellen.
Om dit te bereiken, overweeg meerdere TacoTranslate providers te gebruiken binnen je 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 het hebben van veel strings binnen één origin de laadtijden kan verlengen.
Omgaan met variabelen
Je moet altijd variabelen gebruiken voor dynamische inhoud, zoals gebruikersnamen, datums, e-mailadressen, en meer.
Variabelen in strings 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}});
}
Beheren van HTML-inhoud
Standaard ondersteunt en rendert de Translate
component HTML-inhoud. U kunt echter van dit gedrag afzien door useDangerouslySetInnerHTML
op false
te zetten.
Het uitschakelen van HTML-weergave wordt ten zeerste aanbevolen bij het vertalen van onbetrouwbare inhoud, zoals door gebruikers gegenereerde inhoud.
Alle output wordt altijd gesaneerd met sanitize-html voordat het wordt weergegeven.
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 weergegeven als platte tekst.