TacoTranslate
/
DocumentaçãoPreços
 
  1. Introdução
  2. Primeiros passos
  3. Instalação e configuração
  4. Como usar o TacoTranslate
  5. Renderização no servidor
  6. Utilização avançada
  7. Boas práticas
  8. Tratamento de erros e depuração
  9. Idiomas suportados

Como usar o TacoTranslate

Tradução de strings

Atualmente existem três formas de traduzir strings: o componente Translate, o hook useTranslation, ou o utilitário translateEntries.


Usar o componente Translate.
Exibe traduções dentro de um elemento span, e suporta a renderização de HTML.

import {Translate} from 'tacotranslate/react';

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

Pode alterar o tipo de elemento usando, por exemplo, as="p" no componente.


Utilizar o hook useTranslation.
Devolve traduções como uma string simples. Útil, por exemplo, em tags meta.

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

Usar a ferramenta translateEntries.
Traduza cadeias de caracteres no lado do servidor. Potencie as suas imagens OpenGraph.

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

Como as cadeias de texto são traduzidas

Quando as strings chegam aos nossos servidores, primeiro as validamos e armazenamos, e de seguida devolvemos imediatamente uma tradução automática. Embora as traduções automáticas sejam geralmente de qualidade inferior quando comparadas com as nossas traduções por IA, oferecem uma resposta inicial rápida.

Simultaneamente, iniciamos um trabalho de tradução assíncrono para gerar uma tradução de IA de alta qualidade e de última geração para a sua string. Quando a tradução por IA estiver pronta, substituirá a tradução automática e será enviada sempre que solicitar traduções das suas strings.

Se tiver traduzido manualmente uma string, essas traduções têm prioridade e serão utilizadas em seu lugar.

Utilizar origens

Os projetos TacoTranslate contêm aquilo que chamamos de origens. Pense nelas como pontos de entrada, pastas ou grupos para as suas strings e traduções.

import {TacoTranslate} from 'tacotranslate/react';

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

As origens permitem separar strings em contentores significativos. Por exemplo, poderia ter uma origem para a documentação e outra para a sua página de marketing.

Para um controlo mais granular, pode configurar origens ao nível do componente.

Para isso, considere usar vários fornecedores TacoTranslate no seu projeto.

Tenha em atenção que a mesma string pode receber traduções diferentes em origens distintas.

Em última análise, a forma como separa as strings em origens depende de si e das suas necessidades. No entanto, note que ter muitas strings numa única origem pode aumentar os tempos de carregamento.

Manipulação de variáveis

Deve sempre usar variáveis para conteúdo dinâmico, como nomes de utilizador, datas, endereços de e-mail e muito mais.

As variáveis em cadeias de caracteres são declaradas usando colchetes duplos, como {{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}});
}

Gestão de conteúdo HTML

Por predefinição, o componente Translate suporta e renderiza conteúdo HTML. No entanto, pode optar por não utilizar este comportamento definindo useDangerouslySetInnerHTML como false.

Recomenda-se vivamente desativar a renderização de HTML ao traduzir conteúdo não confiável, como conteúdo gerado pelos utilizadores.

Toda a saída é sempre sanitizada com sanitize-html antes de ser renderizada.

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

O exemplo acima será apresentado como texto simples.

Renderização no servidor

Um produto da NattskiftetFeito na Noruega