TacoTranslate
/
DocumentaçãoPreços
 
  1. Introdução
  2. Começar
  3. Configuração e instalação
  4. A usar o TacoTranslate
  5. Renderização do lado do servidor
  6. Utilização avançada
  7. Melhores práticas
  8. Gestão de erros e depuração
  9. Idiomas suportados

A usar o TacoTranslate

A traduzir strings

Atualmente, existem três formas de traduzir strings: o componente Translate, o hook useTranslation ou a utilidade 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.


Usar o hook useTranslation.
Retorna 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 utilidade translateEntries.
Traduza strings 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 strings são traduzidas

Quando as strings chegam aos nossos servidores, primeiro validamo-las e guardamo-las, para depois imediatamente devolver uma tradução automática. Embora as traduções automáticas sejam geralmente de qualidade inferior em comparação 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. Assim que a tradução por IA estiver pronta, substituirá a tradução automática e será enviada sempre que solicitar traduções para as suas strings.

Se tiver traduzido uma string manualmente, essas traduções têm prioridade e serão retornadas em vez disso.

Utilização de origens

Os projetos TacoTranslate contêm o que chamamos de origins. Pense neles 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-lhe separar cadeias de texto em contentores significativos. Por exemplo, pode 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 conseguir isto, considere usar vários fornecedores TacoTranslate no seu projeto.

Por favor, note que a mesma string pode receber traduções diferentes em origens diferentes.

Em última análise, a forma como separa as cadeias de texto em origens depende de si e das suas necessidades. No entanto, tenha em atenção que ter muitas cadeias de texto numa única origem pode aumentar os tempos de carregamento.

Gestão de variáveis

Deve sempre usar variáveis para conteúdos dinâmicos, como nomes de utilizadores, datas, endereços de e-mail, e mais.

As variáveis nas strings 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}});
}

Gerir conteúdo HTML

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

Desativar a renderização HTML é fortemente recomendado ao traduzir conteúdos não confiáveis, como conteúdos gerados pelos utilizadores.

Todas as saídas são sempre sujeitas a sanitização com sanitize-html antes de serem apresentadas.

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 do lado do servidor

Um produto de NattskiftetFeito na Noruega