TacoTranslate
/
DokumentationPriser
 
  1. Introduktion
  2. Komma igång
  3. Installation och konfiguration
  4. Använda TacoTranslate
  5. Rendering på serversidan
  6. Avancerad användning
  7. Bästa praxis
  8. Felhantering och felsökning
  9. Stödda språk

Använda TacoTranslate

Översätta strängar

För närvarande finns det tre sätt att översätta strängar: Translate komponenten, useTranslation hooken eller translateEntries-verktyget.


Använd Translate-komponenten.
Visar översättningar i ett span element och stöder rendering av HTML.

import {Translate} from 'tacotranslate/react';

function Page() {
	return <Translate string="Hello, world!" />;
}

Du kan ändra elementtypen genom att till exempel använda as="p" på komponenten.


Använd useTranslation hooken.
Returnerar översättningar som en vanlig sträng. Användbart i exempelvis meta taggar.

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>
	);
}

Använd translateEntries-verktyget.
Översätt strängar på serversidan. Ge extra kraft åt dina OpenGraph-bilder.

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)
	};
}

Hur strängar översätts

När strängar når våra servrar validerar och sparar vi dem först, och returnerar sedan omedelbart en maskinöversättning. Även om maskinöversättningar vanligtvis är av lägre kvalitet än våra AI-översättningar, ger de ett snabbt initialt svar.

Samtidigt initierar vi ett asynkront översättningsjobb för att generera en högkvalitativ, toppmodern AI-översättning för din sträng. När AI-översättningen är klar kommer den att ersätta maskinöversättningen och skickas varje gång du begär översättningar av dina strängar.

Om du manuellt har översatt en sträng prioriteras dessa översättningar och returneras istället.

Använda ursprung

TacoTranslate-projekt innehåller det vi kallar origins. Tänk på dem som ingångspunkter, mappar eller grupper för dina strängar och översättningar.

import {TacoTranslate} from 'tacotranslate/react';

function Menu() {
	return (
		<TacoTranslate origin="application-menu">
			// ...
		</TacoTranslate>
	);
}

Origins låter dig separera strängar i meningsfulla behållare. Till exempel kan du ha en origin för dokumentation och en annan för din marknadsföringssida.

För mer detaljerad kontroll kan du konfigurera origins på komponentnivå.

För att uppnå detta, överväg att använda flera TacoTranslate‑leverantörer i ditt projekt.

Observera att samma sträng kan få olika översättningar i olika origins.

Hur du i slutändan delar upp strängar i origins är upp till dig och dina behov. Observera dock att många strängar inom en och samma origin kan öka laddningstiderna.

Hantera variabler

Du bör alltid använda variabler för dynamiskt innehåll, såsom användarnamn, datum, e-postadresser och mer.

I strängar deklareras variabler med dubbla klammerparenteser, till exempel {{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}});
}

Hantera HTML-innehåll

Som standard stöder Translate komponenten och renderar HTML-innehåll. Du kan dock avaktivera detta beteende genom att sätta useDangerouslySetInnerHTML till false.

Det rekommenderas starkt att inaktivera rendering av HTML när du översätter opålitligt innehåll, såsom användargenererat innehåll.

Allt utdata saneras alltid med sanitize-html innan det renderas.

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}
		/>
	);
}

Exemplet ovan kommer att renderas som vanlig text.

Rendering på serversidan

En produkt från NattskiftetTillverkad i Norge