TacoTranslate
/
DocumentaçãoPreços
 
  1. Introdução
  2. Primeiros passos
  3. Instalação e configuração
  4. Utilizar 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

Boas práticas

Coloque URLs em variáveis

Ao traduzir strings que contenham URLs ou dados semelhantes, recomenda-se colocar essas URLs em variáveis e depois referenciá‑las nos seus templates.

<Translate
	string={`Click <a href="{{url}}">here</a>`}
	variables={{url: 'https://tacotranslate.com'}}
/>

Usar rótulos ARIA

Ao traduzir o texto de elementos interativos, como botões, é importante incluir rótulos ARIA para garantir a acessibilidade. Os rótulos ARIA ajudam os leitores de ecrã a fornecer informação descritiva sobre a função do elemento.

Por exemplo, se tiver um botão que permite aos utilizadores copiar texto de um bloco de código, pode usar o atributo aria-label para fornecer uma descrição clara:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

Há qualquer coisa nisto que parece muito meta.

Array global de origens e múltiplas origens por componente

Este padrão só funciona ao utilizar o Next.js Pages Router.

Ao trabalhar com aplicações maiores, é vantajoso dividir as strings e traduções em várias origens mais pequenas. Esta abordagem ajuda a reduzir o tamanho dos bundles e os tempos de transferência, garantindo uma localização eficiente e escalável.

Embora isto seja simples quando se faz renderização apenas no lado do cliente, gerir origens torna-se rapidamente complexo ao obter traduções para renderização no servidor. No entanto, pode automatizar a gestão de origens utilizando o array origins do cliente TacoTranslate.

Considere este exemplo, onde separamos os nossos componentes e páginas em ficheiros distintos.

components/pricing-table.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';

// Set an origin name for this component
const origin = 'components/pricing-table';

// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);

export default function PricingTable() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing table" />
			// ...
		</TacoTranslate>
	);
}
pages/pricing.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';

const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);

export default function PricingPage() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing page" />
			<PricingTable />
		</TacoTranslate>
	);
}

// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
	return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}

Consulte os nossos exemplos de renderização do lado do servidor para mais informações sobre getTacoTranslateStaticProps.

Tratamento de erros e depuração

Um produto de NattskiftetFeito na Noruega